데코레이터 패턴.

메인 객체에 각기 더 올리고자 하는 객체들을 덧 씌워서 그 결과를 나타낸다.

쉽게 생각하면 커피를 떠올리면 된다.

에스프레소에 우유를 넣고 모카를 넣고 원하는 취향대로 하면 하나의 제품이 나온다.

특징이라고 하면 한 객체를 여러 데코레이터들로 감쌀 수 있다는 것과

자신이 장식한 객체에 어떤 행동을 위임 또는 추가적인 작업을 할 수 있다.

즉 언제든 객체를 감쌀 수가 있기에 프로그램 실행 중 유동적으로 데코레이터를 이용 할 수 있다.

아래는 다이어그램과 샘플 코드 이다.