클래스의 소스변경없이 추가기능을 동적으로 추가시키는 패턴. 데코레이터 패턴을 적용한 사례는 java.io 패키지에 많이 있다. Reader reader = new BufferedReader(new InputStreamReader(System.in)); ==> 풀어보면... Reader reader = new InputStreamReader(System.in); reader = new BufferedReader(reader); 정의 - 객체에 추가 요소를 동적으로 더할 수 있습니다. 데코레이터를 사용하면 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공합니다.