상속에서의 클래스 간의 관계 정의법
- 정의
is a kind of
관계를 나타낸다
- 하위 클래스가 상위 클래스의 특정 유형 또는 분류임을 의미함
- 예시
- 고래는 동물의 한 분류이다
- 고래 ⇒
하위클래스
- 동물 ⇒
상위클래스
인터페이스에서의 클래스 간의 관계 정의법
- 정의
is able to
관계를 나타낸다.
- 클래스가 인터페이스에 정의된 특성 행동 또는 기능을 수행할 수 있음을 나타냄
- 예시
- 고래는 헤엄칠 수 있음
고래
클래스가헤엄치다
기능을 수행할 수 있음을 나타낸다.
자바 API 예시
- 인터페이스는 클래스가 수행 할 수 있는 특정 기능을 나타내며,
be able to
형식으로 명명함
- Searializable
- 직렬화할 수 있는
- Cloneable
- 복제할 수 있는
…
상위 클래스와 인터페이스 특성
- 상위 클래스
- 하위 클래스에 특성(속성 + 메서드) 을
상속해준다
- 하위 클래스에 특성(속성 + 메서드) 을
- 인터페이스
- 클래스에 특정 기능의 구현을
강제
함
- 클래스에 특정 기능의 구현을
상속과 인터페이스의 적절한 사용은 어디까지 가능한가
- 상위 클래스
많은 특성
을 물려줄수 있을 수록좋을 수 있다.
- 인터페이스
- 구현을 강제할
메서드의 개수가 적을 수록 좋음
- 구현을 강제할
객체 지향 설계 원칙과 연관성
- LSP ( 리스코드 치환 원칙 )
- 상위 클래스의 특성이 풍성할 수록 좋은 이유는 해당 원칙에 기반
- ISP ( 인터페이스 분할 원칙 )
- 인터페이스에 메서드가 적을수록 좋은 이유는 해당 원칙에 기반한다.
LSP
- 정의
- 서브 타입은 언제나 슈퍼타입과 교체될 수 있어야 한다.
- 하위 클래스는 상위 클래스의 역할을 완벽하게 대체 할 수 있어야함.
- 상속과 연관성
- 서브 클래스는 슈퍼 클래스의 기능을 확장하거나 수정 가능하다.
- 하지만, 슈퍼 클래스의 기본 기능이나 특성을 손상시킬 수 없다.
ISP
- 정의
- 클래스는 자신이 사용하지 않는 인터페이스에 의존하면 안된다.
- 너무 많은 기능이 담긴 인터페이스 보다 필요한 기능만 포함한 여러 개의 인터페이스를 사용하는 것이 좋음
- 인터페이스와 연관성
- 기본 헤엄과 날수있는 기능이 전부 있는 인터페이스가 존재시
헤엄칠 수 있는
과날 수 있는
인터페이스를 분리하면,
펭귄
클래스는헤엄칠 수 있는
인터페이스만을 구현하면 되므로, 불필요한 메서드 구현을 피할 수 있음
상속에서의 UML 표기법
그렇다고 하네요
Uploaded by N2T
'자바 > 스프링입문객체지향' 카테고리의 다른 글
[기타]VO 와 DTO 와 ENTITY 차이 (0) | 2023.08.26 |
---|---|
[3단원]다중 상속과 자바 (0) | 2023.08.25 |
[3단원]상속과 T 메모리 (0) | 2023.08.25 |
[3단원]다형성: 사용편의성 (0) | 2023.08.25 |
[3단원]상속은 is a 관계를 만족해야 한다? (0) | 2023.08.25 |