티스토리 뷰
- 추상화 (Abstract) 공통의 속성이나 기능을 묶어 이름을 붙이는 것
객체 지향적 관점에서는 클래스(Class)를 정의하는 것을 추상화라고 정의 내릴 수 있겠다.
상세한 정보는 무시하고 필요한 정보들만 간추려서 구성!
ex) 물고기, 토끼, 햄스터, 기린이 있을 때 우리는 이것들을 각각의 객체(Object)라고 하며,
이 객체들을 하나로 묶으려 할 때, 동물 또는 생물이라는 어떤 추상적인 객체로 크게 정의해 볼 수 있겠다.
이때, 동물 또는 생물이라고 묶는 것을 추상화라고 한다.
- 캡슐화 (Encapsulation)
관련된 필드(속성)와 메소드(기능)를 다루는 방법들을 하나로 결합시켜 묶는 것 외부로부터 실제 작동 원리(여기서
는 기능)를 알 수 없게 따로 저장 되어 있다.
만일의 상황(타인이 외부에서 기능에 접근해 조작)을 대비해서 특정 속성이나 메서드를사용자가 조작할 수 없도록
숨겨 놓았다.
- 상속 (Inheritance)
이미 작성된 클래스(상위=부모 클래스)의 특성을 그대로 이어받아
새로운 클래스(하위=자식 클래스)를 생성하는 기법
기존 코드를 그대로 재사용하거나 재정의한다. (재사용 + 확장)
- 다형성 (Polymorphism)
사전적 의미 : '다양한 형태로 나타날 수 있는 능력'같은 기능(Method)를 호출하더라도 객체에 따라 다르게 동작하는 것 상위 클래스의 동작을 하위 클래스에서 다시 정의하여 사용하는 것 또한 다형성으로 볼 수 있겠다.
다시 정의하여 사용하는 것 ---> Overriding(오버라이딩)
'Java > 이론' 카테고리의 다른 글
오버라이딩과 오버로딩, 메소드 오버로딩으로 활용하기 [스마트인재개발원] (0) | 2021.06.13 |
---|---|
클래스(Class)와 객체(Object), 인스턴스(Instance) [스마트인재개발원] (0) | 2021.06.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Java
- Vue
- 발표
- 랩실
- Vue.js
- 스마트미디어인재개발원
- 국비지원코딩교육
- 스마트인재캠퍼스
- Python
- 자바
- 스마트인재개발원
- 코딩
- 뷰
- 머신러닝
- 최종프로젝트
- JavaScript
- 스마트미디어캠퍼스
- 비동기
- Ajax
- 랩실스터디
- 데이터계층구조
- 야너두코딩할수있어
- JSON
- 지도학습모델
- 광주코딩교육
- 3계층구조
- 야너두할수있어코딩
- 개발도구
- IoT
- 야너두할수있어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함