상속보다 조합을 선택하기의 선택 기준을 나란히 비교한다
비교 항목: is-a가 참일 때만 상속을 검토한다 / 조합은 필요한 동작만 바깥에 공개한다 / 전략 객체로 변화 방향을 분리한다
| 확인 질문 | 판단 근거 | 코드에서 드러낼 것 |
|---|---|---|
| is-a가 참일 때만 상속을 검토한다 | 모든 하위 객체가 상위 타입의 의미를 지켜야 합니다. | 타입과 시작값 |
| 조합은 필요한 동작만 바깥에 공개한다 | 내부 객체가 가진 많은 메서드 가운데 현재 클래스의 책임에 맞는 것만 위임합니다. | 실패 또는 변경 경계 |
| 전략 객체로 변화 방향을 분리한다 | 계산 방식이나 출력 방식처럼 자주 바뀌는 동작을 인터페이스 필드로 받으면 클래스 계층을 늘리지 않고 교체할 수 있습니다. | 선택한 규칙의 결과 |
선택 기준 계산 방식이나 출력 방식처럼 자주 바뀌는 동작을 인터페이스 필드로 받으면 클래스 계층을 늘리지 않고 교체할 수 있습니다.