Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 코딩
- 디자인패턴
- IntelliJ
- JAVA개발자
- JavaScript
- 독서
- 클린코드
- 오브젝트
- 독서일지
- 헤드퍼스트
- DesignPattern
- 헤드퍼스트디자인패턴
- 상속
- 직장인점심
- Linux
- 성수맛집
- 성수볼거리
- 깨끗한코드
- 객체지향
- 직장인
- 주니어개발자
- 책너두
- 성수직장인
- 성수
- 개발자
- Java
- docker
- 책읽기
- 성수핫플
- 객체지향프로그래밍
Archives
- Today
- Total
런타임노트
[헤드퍼스트 디자인패턴] 29일차. 387-398pg 본문
728x90
29일차
헤드퍼스트 디자인패턴 [5주차_금요일]
387-398pg
요약
CHAPTER 09. 컬렉션 잘 관리하기 (feat. 반복자 패턴과 컴포지트 패턴)
- 객체 저장방식을 보여 주지 않으면서도 클라이언트가 객체에 일일이 접근할 수 있게 해 주는 방법
[ 반복자와 컬렉션 ]
- Collection 인터페이스에서 Iterable 인터페이스를 구현한다.
- Collection 인터페이스를 구현하는 클래스라면 언제든 iterator() 메소드로 필요한 반복자를 받아올 수 있다.
- HashMap()은 반복자를 간접적으로 지원하는 클래스 : HashMap에는 2개의 객체 모듬이 들어있다. 하나는 keys이고 다른 하나는 values, 그러나 값들을 대상으로 반복작업을 하고 싶다면 먼저 HashMap에서 values를 가져온 다음 그 반복자를 받아와야 한다.
[ 컴포지트 패턴(Composite Pattern) ]
- 객체를 트리구조로 구성해서 부분-전체 계층구조(part-whole hierarchy)를 구현한다.
- 부분-전체 계층구조(part-whole hierarchy) 란?
- 부분(메뉴 및 메뉴항목)들이 계층을 이루고 있지만 모든 부분을 묶어서 전체로 다룰 수 있는 구조
- 부분-전체 계층구조(part-whole hierarchy) 란?
- 컴포지트 패턴을 사용하면 클라이언트에서 기별 객체와 복합객체를 똑같은 방법으로 다룰 수 있다.
- 메뉴, 서브메뉴, 서브서브메뉴로 구성된 트리구조가 있다고 하면 각각이 모두 복합 객체가 될 수있다.
- 객체의 구성과 개별 객체를 노드로 가지는 트리 형태의 객체 구조를 만들 수 있다.
- 복합 구조(composite structure)를 사용하면 복합 객체와 개별 객체를 대상으로 똑같은 작업을 적용할 수 있다. → 복합 객체와 개별 객체를 구분할 필요가 거의 없어짐.
[ 트리구조 ]
- 노드(node) : 자식 원소가 있는 원소
- 잎(leaf) : 자식이 없는 원소
발췌
💡 컴포지트 패턴 : 객체를 트리구조로 구성해서 부분-전체 계층구조(part-whole hierarchy)를 구현한다.
728x90
반응형
'책책책 책을 읽읍시다‼ ver.개발 > [ 헤드퍼스트 디자인패턴 ]' 카테고리의 다른 글
| [헤드퍼스트 디자인패턴] 31일차. 415-427pg (2) | 2023.06.06 |
|---|---|
| [헤드퍼스트 디자인패턴] 30일차. 399-414pg (0) | 2023.06.06 |
| [헤드퍼스트 디자인패턴] 28일차. 374-386pg (0) | 2023.06.01 |
| [헤드퍼스트 디자인패턴] 27일차. 361-373pg (0) | 2023.06.01 |
| [헤드퍼스트 디자인패턴] 26일차. 346-360pg (2) | 2023.05.31 |