Decorator 패턴은 기본 객체에 추가적인 기능을 동적으로 유연하게 첨가하는 패턴입니다. 구조 Component ConcreteComponent와 Decorator가 구현할 인터페이스입니다. 두 객체를 동등하게 다루기 위해 존재합니다. ConcreteComponent Decorate를 받을 객체입니다. 즉, 기능 추가를 받을 기본 객체를 의미합니다. Decorator Decorate를 할 객체의 추상 클래스입니다. 즉, 기능 추가를 할 객체는 이 객체를 상속받습니다. ConcreteDecorator Decorator를 상속받아 구현할 다양한 기능 객체입니다. 이 기능들은 ConcreteComponent에 추가되기 위해 만들어 집니다. 활용 상황 객체가 상황에 따라 다양한 기능이 추가되거나 삭제되어야 ..