[DesignPattern] DecoratorPattern, 데코레이터패턴

LimJaeJun·2023년 8월 1일

DesignPattern

목록 보기
3/15

데코레이터패턴 - DecoratorPattern

🔥 데코레이터패턴이란?

객체에 추가 요소를 동적으로 더할 수 있다.
데코레이터를 사용하면 서브클래스를 만들 때보다 유연하게 확장이 가능하다.
✅ 데코레이터의 슈퍼클래스는 자신이 장식하고 있는 객체의 슈퍼클래스와 같다.
✅ 한 객체를 여러 개의 데코레이터로 감쌀 수 있다.
✅ 데코레이터는 자신이 감싸고 있는 객체와 같은 슈퍼클래스를 가지고 있기에 원래 객체가 들어갈 자리에 데코레이터 객체를 넣어도 상관이 없다.
✅ 데코레이터는 자신이 장식하고 있는 개체에게 어떤 행동을 위임하는 일 말고도 추가 작업을 수행할 수 있다.
✅ 객체는 언제든지 감쌀 수 있으므로 실행 중에 필요한 데코레이터를 마음대로 적용할 수 있다.

📌 디자인 원칙1

OCP(Open-Closed Principle)
클래스는 확장에는 열려 있어야 하지만 변경에는 닫혀 있어야 한다

📄 클래스 다이어그램


📚 참고문헌

  • HeadFirst DesignPattern - 한빛미디어
profile
Dreams Come True

0개의 댓글