코드보기: 그래픽 개체 그리기
is-a와 has-a를 동시에 만족하는 디자인 패턴은?
컴포지트(Composite) 패턴
컴포지트 패턴은 어떻게 is-a와 has-a를 동시에 가지는가?
한 클래스가 부모를 상속(is-a)하면서, 같은 부모 타입의 리스트를 컴포지션으로 가짐(has-a)
- 예:
Picture는Graphic의 자식(is-a)이면서,Graphic리스트를 멤버로 가짐(has-a) - 개별 개체와 개체들의 묶음을 같은 타입(
Graphic)으로 다룰 수 있음