Composite 패턴구조 패턴 (Structural Pattern) 중 하나입니다. Composite 패턴은 클라이언트로 하려면 객별 객체와 복합 객체를 모두 동일하게 다룰 수 있도록 합니다. 설명이 패턴의 핵심 아이디어는 개별 객체와 복합 객체(Composite)를 동일한 인터페이스를 갖도록 설계하여 사용하는 것입니다. 이렇게 하면 클라이언트 코드가 개별 객체든 복합 객체든 동일한 방식으로 다룰 수 있게 됩니다. 대표적인 예제로 메뉴를 선택하는 상황을 생각해 볼 수 있습니다. 메뉴의 종류가 많은데, 하위 메뉴가 하위 메뉴를 포함하는 경우들이 있습니다. 예를 들어 분식집 메뉴가 아래와 같다고 생각해 봅니다. 참치김밥, 치즈김밥, 라면, 떡볶이 그러면 아래와 같이 카테고리를 나눌 수 있고, 오늘의 메뉴와..