6-클래스 설계
상속보다는 컴포지션을 사용하라 간단한 행위 재사용 재사용을 위해 상속을 사용했을 때 단점 상속은 하나의 클래스만을 대상으로 할 수 있다. 상속을 사용해서 행위를 추출하다 보면, 많은 함수를 갖는 거대한 BaseXXX 클래스를 만들게 되고, 굉장히 깊고 복잡한 계층 구조가 만들어진다. 상속은 클래스의 모든 것을 가져오게 된다. 따라서 불필요한 함수를 갖는 클래스가 만들어질 수 있다. 인터페이스 분리 원칙 위반 상속은 이해하기 어렵다. 작동 방식을 이해하기 위해 슈퍼클래스를 여러 번 확인해야 한다. 재사용을 위해 컴포지션을 사용했을 때 장점 코드의 실행을 더 명확하게 예측할 수 있다....