[BOOK: 오브젝트 11장] 합성과 유연한 설계
·
BOOK
서론 상속과 합성은 객체지향 프로그래밍에서 가장 널리 사용되는 코드 재사용 기법을 이야기한다. 상속이 부모 클래스와 자식 클래스를 연결해서 부모 클래스의 코드를 재사용하지만, 합성은 전체를 표현하는 객체가 부분을 표현하는 객체를 포함해 부분 객체의 코드를 재사용한다.  상속관계는 is - a라고도 불리고, 합성 관계는 has-a 관계라고 부른다.  여러 가지 내용이 있지만, 이는 결국 하나를 이야기하고 있는 것 같았다.   객체의 합성이 상속보다 더 좋은 방법이다. 상속을 합성으로 변경하기 코드 재사용을 위한 상속 남용시 발생하는 세 가지는 다음과 같다. 불필요한 인터페이스 상속 문제 메서드 오버라이딩의 오작용 문제 부모 클래스와 자식 클래스의 동시 수정 문제  포워딩 ( forwarding ) 오퍼레이..