728x90
객체지향 언어의 4대 특성을 간략히 알아보자.
마음속으로는 뭔가 알겠는데 이것들을 표현할려니 어렵네요.
이펙티브 자바에서인가 4대 특성이 아니라 원래는 3대특성이였다는...상속은 아니라는..말이 있는데..좀 공감함..상속 별로 안 좋아함 ㅎ
- 캡슐화
- 접근제어자를 사용하여 객체 외부에서 내부 데이터의 접근을 통제합니다.
- 참고
- public : 모든 객체에서 접근 가능하다.
- protected : 동일한 패키지 안에서 사용가능, 다른 패키지라도 상속받은 클래스에서는 접근 가능
- default : 접근제어자가 없는 형태로 동일한 패키지 안에서만 접근이 가능
- private : 동일한 클래스 안에서 사용가능, this를 사용하는 것들은 외부에서 접근 불가능, 상속도 안된다.
- 참고
- 접근제어자를 사용하여 객체 외부에서 내부 데이터의 접근을 통제합니다.
- 상속
- 부모 클래스의 메소드와 필드를 자식 클래스에게 그대로 물려 주는것
- 참고
- 상속관계에서 만족해야하는 조건
- 하위클래스는 상위 클래스이다.
- 하위클래스 is a kind of 상위클래스 (하위 클래스는 상위 클래스의 일종이다)
- 상속과 인터페이스
- 상속
- 클래스끼리 하나의 클래스만 상속
- 상위 클래스는 물려줄 특성이 풍성할 수록 좋다.
- 인터페이스
- 다중 상속 가능
- 구현을 강제할 메서드의 개수가 적을수록 좋다.
- 상속
- 상속관계에서 만족해야하는 조건
- 참고
- 부모 클래스의 메소드와 필드를 자식 클래스에게 그대로 물려 주는것
- 추상화
- 구체적인 것을 분해해서 관심 영역에 있는 특성만 가지고 재조합하는것 (모델링이라 한다)
- 모델링?
- 관심영역의 특성만을 가지고 재조합 하는 것 : 메서드를 재정의하다.
- 구체적인 것을 상세히 하지 않고 필요성에 의해 특성만을 가지고 구성하는 것.
- 모델링?
- 구체적인 것을 분해해서 관심 영역에 있는 특성만 가지고 재조합하는것 (모델링이라 한다)
- 다형성
- 하나의 객체가 여러 가지 형태를 가질 수 있는 것을 의미.
- ex) 오버로딩, 오버라이딩
- 오버로딩 : 같은 메서드 이름, 다른 인자 목록 - 다수의 메서드를 중복 정의
- 오버라이딩 : 같은 메서드 이름, 같은 인자 목록 - 상위 클래스의 메서드를 재정의
728x90
'공부 > 공부정리' 카테고리의 다른 글
멀티 쓰레드와 멀티 프로세스의 차이를 간략히 알아보자. (0) | 2021.08.25 |
---|---|
객체지향 설계의 5원칙을 간략히 알아보자.(SOLID) (0) | 2021.08.25 |
자료구조 - Collection, List, Set, Map 등 요약 (0) | 2021.08.24 |
댓글