(간단히 데레코이터 정의부터 살펴보자) 데코레이터 → 새로운 프로그래밍 개념이 아니지만, 파사드 패턴(facade pattern : facade는 건물의 정면을 의미한다. 파사드 패턴은 소프트웨어 디자인 패턴의 하나로 통일된 인터페이스를 통해 복잡한 서브 시스템을 간단히 사용하도록 만든 패턴이다)이나 플라이웨이트 패턴(flyweight pattern : 객체 내부에서 참조하는 객체를 매번 만드는 것이 아니라, 없다면 만들고 있으면 기존 객체를 공유하여 메모리 사용을 최소화하는 패턴이다)과 같은 구조적 디자인 패턴의 하나이다. → 데코레이터 디자인 패턴은 클래스를 수정하지 않고 클래스의 기능을 확장할 수 있는 구조적 패턴의 하나이다. 이것은 별도의 클래스를 생성하고 이 새로운 클래스로 메인 클래스를 래핑(..