합성 : 새로운 클래스의 인스턴스 안에 기존 클래스의 인스턴스를 포함시키는 방법
사실, 책에서 주구장창 얘기하는 것은 상속보단 다형성을, 다형성보단 합성을 하라는 것이 저자가 전달하고자 하는 목표다. 다형성을 이룸으로써 책임을 할당하게 되고, 이를 통해 각 역할의 상호 협력을 통해 일관성 있는 설계가 이뤄지기 때문이다.
중복 코드는 변경을 방해한다.
지식은 항상 변하며, 그에 맞춰 지시식을 표현하는 코드로 변경해야 한다.
만약, 중복 코드를 갖는다면 코드를 수정하는 데 필요한 노력을 몇 배로 증가시킨다.
우선 어떤 코드가 중복인지를 차자.
→ 중복 여부를 결정하는 기준은 코드가 변경에 반응하는 방식이다.
→ 어떻게 반응하는 것일까 ?
중복 코드는 프로그램의 유지보수성을 떨어뜨리는 주요 원인 중 하나입니다. 코드가 변경에 반응하는 방식을 이해하려면, 먼저 코드가 어떤 상황에서 변경이 요구되는지를 알아야 합니다. 코드 변경의 요구는 대개 다음과 같은 상황에서 발생합니다.