티스토리 뷰

Just do it.

[Java] 데코레이터 패턴 (Decorator Pattern)

노력은배신안함 2020. 9. 8. 13:20
반응형

데코레이터 패턴이란 무엇일까.

 

생성자의 매개 변수로 또 다른 스트림을 가짐

 

 ex) protected FileInputStream(InputStream in)   생성자의 매개 변수로 InputStream을 받는다.

      public FilterOutputStream(OutputStream out) 생성자의 매개 변수로 OutputStream을 받음.

 

 

- 바이트 단위 파일 입력 스트림 (기반이 되는 스트림) 

- 문자로 변환 기능 추가 (보조 스트림)

- 버퍼링 기능 추가 (보조 스트림)

 

 

작성 중 원래 기반이 되는 스트림에, 보조적으로 받는 스트림을 사용 시, 이것을 데코 한다 하여, 데코레이터 패턴이라 불린다. 자바 용어는 아니고, 디자인 패턴에서 부르는 용어이다.

 

자바의 입출력 스트림은 데코레이터 패턴을 사용한다.

 

실제로 입출력 기능을 가진 객체(컴포넌트)와 그 외 다양한 기능을 제공하는 데코레이터(보조스트림)을 사용하여 다양한 입출력 기능을 구현 할 수 있다.

 

상속보다 유연한 확장성을 가지며, 지속적인 서비스의 증가와 제거가 용이하다.

 

 

 

 

 

 

 

 

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함