디자인 패턴 (1) 썸네일형 리스트형 데코레이터 패턴(Decorator Pattern) 의도 객체에 기능을 동적으로 추가/삭제하기 위해 사용. 상속을 이용하지 않고 객체의 합성을 이용하므로 flexiblity가 높다. 클래스 상속을 이용해 기능을 추가하게 되면 이미 생성 되어 존재하던 객체에 기능이 추가 되는 것이 아니라, 상속을 통해 기존의 기능을 물려 받은 클래스에 새로운 기능을 정적으로 추가한다. 이런 경우 실행 시간에 동적으로 기능을 추가 하는 것이 아니라 기능이 추가된 새로운 객체를 생성해야만 한다. 동기 클래스 전체가 아닌 각각의 객체마다 특정한 기능을 추가 시기고자 하는 경우 사용되는 패턴이다. 예를 들어 아래와 같은 클래스 구조가 있다고 가정하자. 모든 Write 연산에 대한 최상위 추상 클래스 Stream이 있고, 쓰는 대상에 따라 Stream 클래스를 상속 받은 FileS.. 이전 1 다음