composite pattern1 [Effective Java] 상속 대신 컴포지션 이용하기 Effective Java에 따르면 상속 대신 컴포지션을 이용하라는 말이 있다. 이는 상속을 사용하게 되는 경우 상위클래스가 하위클래스에 영향을 끼쳐 대응할 수 없는 오류를 야기할 수 도 있고, 추후에 수정이 일어날때 영향도가 높아 손봐야할 코드가 많아질 수 있다. (만약 상속을 정말 써야한다면 완벽에 가까운 설계를 하고 심사숙고하여 사용하길 바란다. 즉, 완벽한 is-a 관계가 유지될 때 상속을 사용하자) 이를 대응하기 위한 방법으로 우리는 컴포지션 패턴을 이용할 수 있다. 아래 예시를 보자 간단하게 여행사의 여행 정보를 예약하는 시스템을 만든다고 가정했다. (설명을 위한 예제이니 양해부탁드린다.) interface TravelInfo { void reserve(); } class Accommodati.. 2023. 2. 8. 이전 1 다음