HOME > 상세정보

상세정보

(Java 언어로 배우는) 디자인 패턴 입문 / 개정판 (32회 대출)

자료유형
단행본
개인저자
結城浩, 1963- 이규홍, 역
서명 / 저자사항
(Java 언어로 배우는) 디자인 패턴 입문 / 結城浩 저; [이규홍 역]
판사항
개정판
발행사항
서울 :   영진닷컴,   2008   (2012)  
형태사항
530 p. : 삽화 ; 24 cm
총서사항
바이블 = Bible series ; 6
원표제
Java言語で學ぶデザインパタ-ン入門
ISBN
9788931436914
일반주기
알기 쉽게 설명한 GoF 디자인 패턴  
부록: A. 연습문제 해답, B. 예제 프로그램 실행 순서, C. GoF에 따른 디자인 패턴의 분류, D. 디자인 패턴 Q&A  
서지주기
참고문헌(p. 530)과 색인수록
000 01259camcc2200373 c 4500
001 000045449844
005 20211222144645
007 ta
008 080522s2008 ulka b 001c kor
020 ▼a 9788931436914 ▼g 13000
035 ▼a (KERIS)BIB000011308437
040 ▼a 221020 ▼c 221020 ▼d 211009
041 1 ▼a kor ▼h jpn
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b J41 2008z12
100 1 ▼a 結城浩, ▼d 1963- ▼0 AUTH(211009)100632
245 2 0 ▼a (Java 언어로 배우는) 디자인 패턴 입문 / ▼d 結城浩 저; ▼e [이규홍 역]
246 1 9 ▼a Java言語で學ぶデザインパタ-ン入門
246 3 ▼a Java gengo de manabu design pattern nyumon
246 3 ▼a Dsign pattern nyumon
246 3 ▼a 자바 언어로 배우는 디자인 패턴 입문
250 ▼a 개정판
260 ▼a 서울 : ▼b 영진닷컴, ▼c 2008 ▼g (2012)
300 ▼a 530 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a 바이블 = ▼x Bible series ; ▼v 6
500 ▼a 알기 쉽게 설명한 GoF 디자인 패턴
500 ▼a 부록: A. 연습문제 해답, B. 예제 프로그램 실행 순서, C. GoF에 따른 디자인 패턴의 분류, D. 디자인 패턴 Q&A
504 ▼a 참고문헌(p. 530)과 색인수록
700 1 ▼a 이규홍, ▼e
900 1 0 ▼a 유키 히로시, ▼e
900 1 0 ▼a Yuki, Hiroshi, ▼e
945 ▼a KINS

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 J41 2008z12 등록번호 111477369 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2008z12 등록번호 121226001 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2008z12 등록번호 121257856 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 J41 2008z12 등록번호 111477369 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2008z12 등록번호 121226001 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2008z12 등록번호 121257856 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

디자인 패턴의 입문서. GoF가 정리한 23개의 디자인 패턴을 하나씩 다루면서 객체 지향을 잘 모르는 초보자도 이해하기 쉽도록 정리하고 있다. 단순한 이론이나 논리을 제시하는 것이 아니라 패턴을 사용한 구체적인 프로그램을 Java 언어로 기술하여 실제로 동작시키고 있다.

디자인 패턴은 먼 장래를 위해 배우는 것이 아니다. 매일 사용하고 있는 프로그램을 새로운 관점에서 바라볼 수 있게 해주고, 재사용하기 쉽고, 기능 확장을 손쉽게 하는 소프트웨어를 만들기 위한 유익한 기법이다.

프로그램을 개발할 때 예전과 같은 작업을 반복하고 있다는 느낌이 들 때가 있습니다. 경험이 쌓일수록 이러한 자신만의 패턴이 머리 속에 축적되고, 그 패턴을 다음 개발에 적용할 수 있게 됩니다. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 4명은 개발자의 '경험'이나 '내적인 축적'을 <디자인 패턴>이라는 형태로 정리하였습니다. 이 4명을 the Gang of Four 또는 GoF라고 부릅니다.
이 책에서는 자바 언어를 통해 GoF가 정리한 23개의 디자인 패턴을 하나씩 알기 쉽게 설명하고 있습니다. 이전 버전에서 다소 부족했던 설명과 수많은 독자들의 피드백을 반영하여 구성과 내용을 전면적으로 바꾼 ‘개정판’으로 새롭게 구성하였습니다.
이 책은 디자인 패턴의 책이지만, Java 언어의 기능에 관한 보충적인 해설도 하고 있기 때문에 읽는 동안에 Java에 대한 이해도 깊어질 것입니다. 특히 추상 클래스나 인터페이스의 목적을 정확하게 이해하지 못했던 독자에게는 크게 도움이 될 것입니다. 디자인 패턴과 객체지향에 흥미가 있는 사람, 추상 클래스나 인터페이스에 대한 이해가 부족하다고 느끼는 자바 프로그래머에게 추천합니다.

* 개요 및 내용
이 책은 디자인 패턴의 입문서입니다. GoF가 정리한 23개의 디자인 패턴을 하나씩 다루면서 객체 지향을 잘 모르는 초보자도 이해하기 쉽도록 정리하고 있습니다. 단순한 이론이나 논리을 제시하는 것이 아니라 패턴을 사용한 구체적인 프로그램을 Java 언어로 기술하여 실제로 동작시키고 있습니다. 디자인 패턴은 먼 장래를 위해 배우는 것이 아닙니다. 우리들이 매일 사용하고 있는 프로그램을 새로운 관점에서 바라볼 수 있게 해주고, 재사용하기 쉽고, 기능 확장을 손쉽게 하는 소프트웨어를 만들기 위한 유익한 기법입니다.

* 특징 또는 강점

- GoF의 23개 디자인 패턴에 대해서 Java 언어로 만들어진 구체적인 예제 프로그램을 통해 알기 쉽게 설명합니다. 대부분의 예제 프로그램은 100줄 정도의 길지 않은 구성으로 되어있어 초보자도 이해할 수 있습니다.
- 어렵게 느낄 수 있는 디자인 패턴의 용어를 쉬운 설명과 패턴을 직관적으로 표현한 일러스트를 통해 보다 친숙하게 접근할 수 있습니다. 또한 디자인 패턴의 해설뿐 아니라 Java 언어를 깊이 알기 위한 다양한 정보도 제시합니다.
-디자인 패턴은 카탈로그를 통째로 암기하기 위해 있는 것이 아닙니다. 프로그램을 읽어 패턴을 파악한 후, 프로그래밍을 할 때 패턴을 적용하는 연습을 할 필요가 있습니다. 이 책에서는 패턴을 익히기 위한 연습문제와 해답을 싣고 있습니다.

* 챕터별 요약

Chapter 01 Iterator - 순서대로 지정해서 처리하기
복수의 요소가 모여 있는 중에서 요소를 하나씩 꺼내는 Iterator 패턴에 대해서 배웁니다.

Chapter 02 Adapter - 바꿔서 재이용하기
서로 다른 인터페이스(API)를 갖는 클래스들을 연결하는 Adapter 패턴에 대해서 배웁니다.

Chapter 03 Template Method - 하위 클래스에서 구체적으로 처리하기
상위 클래스에서 처리의 뼈대를 세우고, 구체적인 처리를 하위 클래스에서 실행하는 Template Method 패턴에 대해서 배웁니다.

Chapter 04 Factory Method - 하위 클래스에서 인스턴스 만들기
상위 클래스에서 인스턴스 작성법의 뼈대를 세우고, 구체적인 작성은 하위 클래스에서 실행하는 Factory Method 패턴에 대해서 배웁니다.

Chapter 05 Singleton - 인스턴스를 한 개만 만들기
인스턴스가 하나만 존재하는 Singleton 패턴에 대해서 배웁니다.

Chapter 06 Prototype - 복사해서 인스턴스 만들기
모형이 되는 인스턴스를 복사해서 인스턴스를 만드는 Prototype 패턴에 대해서 배웁니다.

Chapter 07 Builder - 복잡한 인스턴스 조립하기
복잡한 인스턴스를 단계적으로 조립하는 Builder 패턴에 대해서 배웁니다.

Chapter 08 Abstarct Factory - 관련 부품을 조합해서 제품 만들기
공장과 같이 부품을 조합해서 인스턴스 생성을 실행하는 Abstract Factory 패턴에 대해서 배웁니다.

Chapter 09 Bridge - 기능 계층과 구현 계층 분리하기
2종류의 확장이 혼재하는 프로그램을 기능의 계층과 구현의 계층으로 분리하고, 그 사이를 연결하는 Bridge 패턴에 대해서 배웁니다.

Chapter 10 Strategy - 알고리즘을 모두 바꾸기
알고리즘을 전부 교체해서 개량하기 쉽도록 하는 Strategy 패턴에 대해서 배웁니다.

Chapter 11 Composite - 그릇과 내용물을 동일시하기
그릇과 내용물을 동일시해서, 재귀적인 구조를 구축하는 Composite 패턴에 대해서 배웁니다.

Chapter 12 Decorator - 장식과 내용물을 동일시하기
장식과 내용물을 동일시해서 장식을 여러 겹 중복되게 하는 Decorator 패턴에 대해서 배웁니다.

Chapter 13 Visitor - 데이터 구조를 돌아다니면서 처리하기
데이터 구조를 돌아다니면서 동일한 조작을 반복해서 적용하는 Visitor 패턴에 대해서 배웁니다.

Chapter 14 Chain of Responsibility - 책임 떠넘기기
복수의 오브젝트(객체)가 연결되어 있는 내부의 어딘가에서 일을 수행하는 Chain of Responsibility 패턴에 대해서 배웁니다.

Chapter 15 Facade - 단순한 창구
복잡하게 얽힌 클래스를 개별적으로 제어하는 것이 아니라, 창구 역할을 하는 클래스를 하나 배치해서 시스템 전체의 조작성을 좋게 하는 Facade 패턴에 대해서 배웁니다.

Chapter 16 Mediator - 중개인을 통해서 처리하기
복수의 클래스가 상호간에 직접 의사 소통을 하는 것이 아니라, 상담역을 하는 클래스를 하나 준비하고, 그 클래스하고만 의사 소통을 하게 해서 프로그램을 단순하게 만드는 Mediator 패턴에 대해서 배웁니다.

Chapter 17 Observer - 상태의 변화를 알려주기
상태가 변화하는 클래스와 그 변화를 통지받는 클래스를 분리해서 생각하는 Observer 패턴에 대해서 배웁니다.

Chapter 18 Memento - 상태를 저장하기
현재의 상태를 보존하고 필요할 때 실행을 취소해서 복귀시킬 수 있는 Memento 패턴에 대해서 배웁니다.

Chapter 19 State - 상태를 클래스로 표현하기
상태를 클래스로 표현하고 상태에 적합한 switch 문을 줄이는 State 패턴에 대해서 배웁니다.

Chapter 20 Flyweight - 동일한 것을 공유해서 낭비 없애기
복수의 장소에서 동일한 것이 등장할 때 그것들을 공유해서 낭비를 없애는 Flyweight 패턴에 대해서 배웁니다.

Chapter 21 Proxy - 필요해지면 만들기
정말로 목적한 것이 필요하게 될 때까지 대리인을 사용해서 처리를 진행시키는 Proxy 패턴에 대해서 배웁니다.

Chapter 22 Command - 명령을 클래스로 하기
요구나 명령을 형태로 만들어서 클래스로 표현하는 Command 패턴에 대해서 배웁니다.

Chapter 23 Interpreter - 문법규칙을 클래스로 표현하기
문법 규칙을 클래스로 표현하는 Interpreter 패턴에 대해서 배웁니다.


정보제공 : Aladin

저자소개

유키 히로시(지은이)

프로그래밍과 암호, 수학 등에 관한 책을 다수 집필했다. 인터넷에 연재한 '수학 소녀', '수학 소녀의 비밀노트'는 수많은 네티즌에게 수학의 재미와 즐거움을 주었고, 책으로 출간되어 선풍적인 인기를 끌면서 대만, 태국, 미국 등에서도 출간되었다. 국내에 소개된 책으로는 《프로그래머, 수학으로 생각하라》 《수학걸》 《수학 홀릭 페르마의 마지막 정리》 《Java 언어로 배우는 디자인 패턴 입문》 《알기 쉬운 정보보호개론》 《Java 언어로 배우는 디자인 패턴 입문 - 멀티쓰레드 편》 《Java 언어로 배우는 리팩토링 입문》 등이 있다.

이규흥(옮긴이)

숭실대학교 공과대학 전자공학과를 졸업하고, 일본 와세다대학 대학원 상학연구과 석사과정을 수료했다. 『만들면서 배우는 워드프레스 교과서』, 『Java 언어를 이용한 디자인 패턴 입문』, 『그림으로 배우는 Easy C 언어』, 『명쾌한 Java 입문』, 『jQuery Mobile 스마트폰 사이트 디자인』 등 IT 관련 서적을 다수 번역했다.

정보제공 : Aladin

목차

목차
UML에 대해서 = 27
 UML = 27
 클래스 다이어그램 = 27
 클래스의 관계 = 32
 시퀀스 다이어그램 = 32
디자인 패턴을 배우기 전에 = 35
Part 1 디자인 패턴과 친해지기
 Chapter 01 Iterator - 순서대로 지정해서 처리하기 = 39
  1 Iterator 패턴 = 40
  2 예제 프로그램 = 41
  3 Iterator 패턴의 등장인물 = 48
  4 독자의 사고를 넓히기 위한 힌트 = 49
  5 관련 패턴 = 53
  연습문제 = 54
 Chapter 02 Adapter - 바꿔서 재이용하기 = 55
  1 Adapter 패턴 = 56
  2 예제 프로그램(1)(상속을 사용한 Adapter 패턴) = 57
  3 예제 프로그램(2)(위임을 사용한 Adapter 패턴) = 61
  4 Adapter 패턴의 등장인물 = 63
  5 독자의 사고를 넓히기 위한 힌트 = 64
  6 관련 패턴 = 66
  연습문제 = 67
Part 2 하위 클래스에게 위임하기
 Chapter 03 Template Method - 하위 클래스에서 구체적으로 처리하기 = 69
  1 Template Method 패턴 = 70
  2 예제 프로그램 = 71
  3 Template Method 패턴의 등장인물 = 77
  4 독자의 사고를 넓히기 위한 힌트 = 78
  5 관련 패턴 = 79
  6 보강 : 클래스 계층과 추상 클래스 = 80
  연습문제 = 82
 Chapter 04 Factory Method - 하위 클래스에서 인스턴스 만들기 = 83
  1 Factory Method 패턴 = 84
  2 예제 프로그램 = 84
  3 Factory Method 패턴의 등장인물 = 89
  4 독자의 사고를 넓히기 위한 힌트 = 90
  5 관련 패턴 = 93
  연습문제 = 94
Part 3 인스턴스 만들기
 Chapter 05 Singleton - 인스턴스를 한 개만 만들기 = 95
  1 Singleton 패턴 = 96
  2 예제 프로그램 = 96
  3 Singleton 패턴의 등장인물 = 99
  4 독자의 사고를 넓히기 위한 힌트 = 100
  5 관련 패턴 = 100
  연습문제 = 101
 Chapter 06 Prototype - 복사해서 인스턴스 만들기 = 103
  1 Prototype 패턴 = 104
  2 예제 프로그램 = 105
  3 Prototype 패턴의 등장인물 = 112
  4 독자의 사고를 넓히기 위한 힌트 = 113
  5 관련 패턴 = 114
  6 보강 : clone 메소드와 java.lang.Cloneable 인터페이스 = 115
  연습문제 = 118
 Chapter 07 Builder - 복잡한 인스턴스 조립하기 = 119
  1 Builder 패턴 = 120
  2 예제 프로그램 = 120
  3 Builder 패턴의 등장인물 = 128
  4 관련 패턴 = 130
  5 독자의 사고를 넓히기 위한 힌트 = 130
  연습문제 = 133
 Chapter 08 Abstarct Factory - 관련 부품을 조합해서 제품 만들기 = 135
  1 Abstract Factroy 패턴 = 136
  2 예제 프로그램 = 137
  3 예제 프로그램에 별도의 구체적인 공장을 추가하기 = 151
  4 Abstract Factory 패턴의 등장인물 = 155
  5 독자의 사고를 넓히기 위한 힌트 = 157
  6 관련 패턴 = 158
  7 보강 : 인스턴스를 만드는 다양한 방법 = 159
  연습문제 = 161
Part 4 분리해서 생각하기
 Chapter 09 Bridge - 기능 계층과 구현 계층 분리하기 = 163
  1 Bridge 패턴 = 164
  2 예제 프로그램 = 167
  3 Bridge 패턴의 등장인물 = 172
  4 독자의 사고를 넓히기 위한 힌트 = 173
  5 관련 패턴 = 175
  연습문제 = 176
 Chapter 10 Strategy - 알고리즘을 모두 바꾸기 = 177
  1 Strategy 패턴 = 178
  2 예제 프로그램 = 178
  3 Strategy 패턴의 등장인물 = 189
  4 독자의 사고를 넓히기 위한 힌트 = 190
  5 관련 패턴 = 191
  연습문제 = 192
Part 5 동일시하기
 Chapter 11 Composite - 그릇과 내용물을 동일시하기 = 195
  1 Composite 패턴 = 196
  2 예제 프로그램 = 196
  3 Composite 패턴의 등장인물 = 205
  4 독자의 사고를 넓히기 위한 힌트 = 206
  5 관련 패턴 = 209
  연습문제 = 210
 Chapter 12 Decorator - 장식과 내용물을 동일시하기 = 211
  1 Decorator 패턴 = 212
  2 예제 프로그램 = 212
  3 Decorator 패턴의 등장인물 = 220
  4 독자의 사고를 넓히기 위한 힌트 = 222
  5 관련 패턴 = 225
  6 보강 : 상속의 동일시와 위임의 동일시 = 226
  연습문제 = 229
Part 6 구조를 돌아다니기
 Chapter 13 Visitor - 데이터 구조를 돌아다니면서 처리하기 = 231
  1 Visitor 패턴 = 232
  2 예제 프로그램 = 232
  3 Visitor 패턴의 등장인물 = 243
  4 독자의 사고를 넓히기 위한 힌트 = 244
  5 관련 패턴 = 248
  연습문제 = 249
 Chapter 14 Chain of Responsibility - 책임 떠넘기기 = 253
  1 Chain of Responsibility 패턴 = 254
  2 예제 프로그램 = 255
  3 Chain of Responsibility 패턴의 등장인물 = 262
  4 독자의 사고를 넓히기 위한 힌트 = 263
  5 관련 패턴 = 265
  연습문제 = 266
Part 7 단순화하기
 Chapter 15 Facade - 단순한 창구 = 267
  1 Facade 패턴 = 268
  2 예제 프로그램 = 268
  3 Facade 패턴의 등장인물 = 275
  4 독자의 사고를 넓혀주기 위한 힌트 = 276
  5 관련 패턴 = 277
  연습문제 = 279
 Chapter 16 Mediator - 중개인을 통해서 처리하기 = 281
  1 Mediator 패턴 = 282
  2 예제 프로그램 = 283
  3 Mediator 패턴의 등장인물 = 295
  4 독자의 사고를 넓히기 위한 힌트 = 296
  5 관련 패턴 = 298
  연습문제 = 298
Part 8 상태를 관리하기
 Chapter 17 Observer - 상태의 변화를 알려주기 = 299
  1 Observer 패턴 = 300
  2 예제 프로그램 = 300
  3 Observer 패턴의 등장인물 = 306
  4 독자의 사고를 넓히기 위한 힌트 = 307
  5 보강 : java.util.Observer 인터페이스 = 311
  6 관련 패턴 = 312
  연습문제 = 313
 Chapter 18 Memento - 상태를 저장하기 = 315
  1 Memento 패턴 = 316
  2 예제 프로그램 = 317
  3 Memento 패턴의 등장인물 = 324
  4 독자의 사고를 넓히기 위한 힌트 = 326
  5 관련 패턴 = 329
  연습문제 = 330
 Chapter 19 State - 상태를 클래스로 표현하기 = 333
  1 State 패턴 = 334
  2 예제 프로그램 = 334
  3 State 패턴의 등장인물 = 348
  4 독자의 사고를 넓히기 위한 힌트 = 349
  5 관련 패턴 = 354
  연습문제 = 355
Part 9 낭비 없애기
 Chapter 20 Flyweight - 동일한 것을 공유해서 낭비 없애기 = 357
  1 Flyweight 패턴 = 358
  2 예제 프로그램 = 359
  3 Flyweight 패턴의 등장인물 = 367
  4 독자의 사고를 넓히기 위한 힌트 = 368
  5 관련 패턴 = 372
  연습문제 = 373
 Chapter 21 Proxy - 필요해지면 만들기 = 375
  1 Proxy 패턴 = 376
  2 예제 프로그램 = 376
  3 Proxy 패턴의 등장인물 = 383
  4 독자의 사고를 넓히기 위한 힌트 = 384
  5 관련 패턴 = 387
  연습문제 = 388
Part 10 클래스로 표현하기
 Chapter 22 Command - 명령을 클래스로 하기 = 389
  1 Command 패턴 = 390
  2 예제 프로그램 = 390
  3 Command 패턴의 등장인물 = 401
  4 독자의 사고를 넓히기 위한 힌트 = 403
  5 관련 패턴 = 407
  연습문제 = 408
 Chapter 23 Interpreter - 문법규칙을 클래스로 표현하기 = 409
  1 Interpreter 패턴 = 410
  2 미니 언어 = 411
  3 예제 프로그램 = 418
  4 Interpreter 패턴의 등장인물 = 430
  5 독자의 사고를 넓히기 위한 힌트 = 431
  6 관련 패턴 = 433
  연습문제 = 434
Appendix(부록) = 435
 A : 연습문제 해답 = 436
 B : 예제 프로그램의 실행 순서 = 524
 C : GoF에 따른 디자인 패턴의 분류 = 526
 D : 디자인 패턴 Q&A = 527
 E : 참고 문헌 = 530
Index(찾아보기) = 531

관련분야 신착자료

Zumstein, Felix (2022)