<aside> 💡 객체에 새로운 책임을 동적으로 추가할 때 사용

</aside>

1. 의도

2. 활용성

3. 구조

4. 참여자

참여자 역할 예시
Component 동적으로 추가할 서비스를 가질 가능성이 있는 객체들에 대한 인터페이스 자동차
ConcreteComponent 추가적인 서비스가 실제로 정의되어야 할 필요가 있는 객체 SM3
Decorator Component 객체에 대한 참조자를 관리하면서 Component에 정의된 인터페이스를 만족하도록 인터페이스를 정의 GPS 옵션, 시트 옵션
ConcreteDecorator Component에 새롭게 추가될 서비스를 실제로 구현하는 클래스 현대 네비게이션, 가죽시트

5. 협력 방법