
디자인 패턴 중 Decorator 패턴에 대해 설명합니다. 개념 래퍼 객체 안에 객체를 두어 기능을 확장하는 구조 패턴입니다. 특정 조건에 따라 객체의 기능이 확장되어야 할 때 객체를 래핑하고 래퍼 객체와 타겟 객체가 동일한 인터페이스로 제공되어 클라이언트에서는 이를 동일하게 취급할 수 있습니다. 동적으로 객체 기능 확장이 필요할 때 사용합니다. Component: 래퍼와 타겟 객체의 공통 인터페이스입니다. 타겟 객체의 메소드를 정의하여 래퍼 객체도 동일한 메소드를 호출할 수 있도록 합니다. ConcreteComponent: 래핑되는 타겟 객체입니다. BaseDecorator: 타겟 객체를 래핑 하는 래퍼 객체의 Abstract class입니다. wrappee로 타겟 객체를 저장하고 특정 메소드가 호출되..