-
[Java] 데코레이터 패턴 (Decorator Pattern)Just do it. 2020. 9. 8. 13:20반응형
데코레이터 패턴이란 무엇일까.
생성자의 매개 변수로 또 다른 스트림을 가짐
ex) protected FileInputStream(InputStream in) 생성자의 매개 변수로 InputStream을 받는다.
public FilterOutputStream(OutputStream out) 생성자의 매개 변수로 OutputStream을 받음.
- 바이트 단위 파일 입력 스트림 (기반이 되는 스트림)
- 문자로 변환 기능 추가 (보조 스트림)
- 버퍼링 기능 추가 (보조 스트림)
작성 중 원래 기반이 되는 스트림에, 보조적으로 받는 스트림을 사용 시, 이것을 데코 한다 하여, 데코레이터 패턴이라 불린다. 자바 용어는 아니고, 디자인 패턴에서 부르는 용어이다.
자바의 입출력 스트림은 데코레이터 패턴을 사용한다.
실제로 입출력 기능을 가진 객체(컴포넌트)와 그 외 다양한 기능을 제공하는 데코레이터(보조스트림)을 사용하여 다양한 입출력 기능을 구현 할 수 있다.
상속보다 유연한 확장성을 가지며, 지속적인 서비스의 증가와 제거가 용이하다.
반응형'Just do it.' 카테고리의 다른 글
[Springboot] 스프링 부트란? (1) 2020.09.19 [Java] 자바 입출력 - 직렬화(Serialization) (0) 2020.09.08 [Java]Singleton Pattern에 대하여 (0) 2020.06.28 REST란? REST API,RESTful 에 대하여. (0) 2020.06.10 [JAVA] 스레드, 멀티스레드에 대하여 알아보자. (0) 2020.04.15