합성과 유연한 설계
01. 상속을 합성으로 변경하기
02. 상속으로 인한 조합의 폭발적인 증가
기본 정책과 부가 정책 조합하기
상속을 이용해서 기본 정책 구현하기
기본 정책에 세금 정책 조합하기
기본 정책에 기본 요금 할인 정책 조합하기
중복 코드의 덫에 걸리다
03. 합성 관계로 변경하기
- 상속을 사용하면 컴파일타임에 구현이 결정되기 때문에 유연하게 조합해야하는 설계에 적합하지 않음
- 위에서 살펴본 클래스 폭발 문제 발생
- 합성은 컴파일타임 관계를 런타임 관계로 변경함으로써 이 문제를 해결
기본 정책 합성하기
부가 정책 적용하기
기본 정책과 부가 정책 합성하기
새로운 정책 추가하기
객체 합성이 클래스 상속보다 더 좋은 방법이다
04. 믹스인
- 믹스인(mixin)은 객체 생성시 코드 일수를 클래스 안에 섞어 넣어 재사용하는 기법