• 전체-부분관계를 가지는 객체들을 표현하기위해 사용됨
  • 사용자는 전체와 부분을 구분하지 않고 동일한 인터페이스를 사용
  • Component : Leaf클래스와 Composite클래스에 공통인터페이스 정의
  • Leaf : 구체적인 부분 클래스, 자식 객체를 가지지 않는 개별 객체
  • Composite : 집합 클래스, 자식 객체를 Componet로서 가지고 있음, Leaf와 Composite를 자식으로 가질 수 있음
  • 사용자는 모든 구성요소를 Component로 인식하기 때문에 코드가 단순해지며 새로운 종류의 클래스를 기존의 코드를 수정하지 않고 추가할 수 있음