확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제 강력추천
Head First Design Patterns

Head First Design Patterns

: 스토리가 있는 패턴 학습법

Head First 시리즈이동
리뷰 총점9.2 리뷰 24건
베스트
IT 모바일 top20 12주
정가
28,000
판매가
25,200 (10% 할인)
구매 시 참고사항
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2005년 09월 04일
쪽수, 무게, 크기 672쪽 | 1332g | 203*235*35mm
ISBN13 9788979143409
ISBN10 8979143400

이 상품의 태그

그릿 (50만 부 판매 기념 리커버 골드에디션)

그릿 (50만 부 판매 기념 리커버 골드에디션)

16,200 (10%)

'그릿 (50만 부 판매 기념 리커버 골드에디션)' 상세페이지 이동

생각에 관한 생각

생각에 관한 생각

26,820 (10%)

'생각에 관한 생각' 상세페이지 이동

[예스리커버] 우리가 빛의 속도로 갈 수 없다면

[예스리커버] 우리가 빛의 속도로 갈 수 없다면

12,600 (10%)

'[예스리커버] 우리가 빛의 속도로 갈 수 없다면' 상세페이지 이동

비전공자도 이해할 수 있는 AI 지식

비전공자도 이해할 수 있는 AI 지식

17,820 (10%)

'비전공자도 이해할 수 있는 AI 지식' 상세페이지 이동

팩트풀니스

팩트풀니스

17,820 (10%)

'팩트풀니스' 상세페이지 이동

혼자 공부하는 머신러닝+딥러닝

혼자 공부하는 머신러닝+딥러닝

23,400 (10%)

'혼자 공부하는 머신러닝+딥러닝' 상세페이지 이동

떨림과 울림

떨림과 울림

13,500 (10%)

'떨림과 울림' 상세페이지 이동

지금 이 순간을 살아라

지금 이 순간을 살아라

11,250 (10%)

'지금 이 순간을 살아라' 상세페이지 이동

Clean Code 클린 코드

Clean Code 클린 코드

29,700 (10%)

'Clean Code 클린 코드' 상세페이지 이동

딥 워크

딥 워크

15,300 (10%)

'딥 워크' 상세페이지 이동

밑바닥부터 시작하는 딥러닝

밑바닥부터 시작하는 딥러닝

21,600 (10%)

'밑바닥부터 시작하는 딥러닝 ' 상세페이지 이동

나는 4시간만 일한다

나는 4시간만 일한다

15,120 (10%)

'나는 4시간만 일한다' 상세페이지 이동

클린 아키텍처

클린 아키텍처

26,100 (10%)

'클린 아키텍처' 상세페이지 이동

미래를 바꾼 아홉 가지 알고리즘

미래를 바꾼 아홉 가지 알고리즘

16,920 (10%)

'미래를 바꾼 아홉 가지 알고리즘' 상세페이지 이동

객체지향의 사실과 오해

객체지향의 사실과 오해

18,000 (10%)

'객체지향의 사실과 오해' 상세페이지 이동

오브젝트

오브젝트

34,200 (10%)

'오브젝트' 상세페이지 이동

인스파이어드

인스파이어드

21,600 (10%)

'인스파이어드' 상세페이지 이동

최소한의 선의

최소한의 선의

13,500 (10%)

'최소한의 선의' 상세페이지 이동

이펙티브 자바 Effective Java 3/E

이펙티브 자바 Effective Java 3/E

32,400 (10%)

'이펙티브 자바 Effective Java 3/E' 상세페이지 이동

구글 엔지니어는 이렇게 일한다

구글 엔지니어는 이렇게 일한다

40,500 (10%)

'구글 엔지니어는 이렇게 일한다' 상세페이지 이동

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 관련자료 보이기/감추기

저자 : 에릭 프리먼, 엘리자베스 프리먼
저술가, 강사로 활동하고 있으며, 기술을 혁신하기 위한 일들을 하고 있다. 4년 동안 월트디즈니사에서 디지털 미디어 및 인터넷 팀을 이끌다가, 그곳에서 익힌 경험을 여러 방면에 적용하기 시작했고, 이 책도 그 결과물 중 하나다.
저자 : 케이시 시에라
게임 설계를 하던 시절(Virgin, MGM, Amblin' 등에서 게임을 제작했다)부터 학습 이론에 관심이 있었다. UCLA 평생교육원의 엔터테인먼트 연구 프로그램에서 뉴 미디어 제작 강의를 하는 동안에 헤드 퍼스트 포맷의 상당 부분을 개발했다. 최근에는 썬 마이크로시스템즈에서 썬의 자바 강사들에게 자바 최신 기술을 가르치는 방법을 가르치는 수석 강사로도 활동하고 있다. 그녀는 버트 베이츠와 함께 이 책에 있는 개념을 적극적으로 활용하여 수백여 명의 강사, 개발자, 심지어는 프로그래머가 아닌 일반인들에게도 강의를 하고 있다. 그리고 「소프트웨어 디벨로프먼트(Software Development)」의 2003년 생산성 대상을 수상하기도 한 전세계에서 가장 큰 자바 커뮤니티 웹사이트 가운데 하나인 javaranch.com의 공동 설립자이기도 하다. 자바 잼 긱 크루즈(Java Jam Geek Cruise, geekcruises.com) 사이트에 가면 그녀가 강의하는 자바 클래스 강의를 볼 수 있다.
역자 : 서환수 (hssuh@csns.snu.ac.kr)
물리학을 전공하는 대학원생. 『Head First Java: 뇌 회로를 자극하는 자바 학습법』을 비롯해서 한빛미디어와 함께 몇 권의 번역서를 냈다.

줄거리 줄거리 보이기/감추기

1 디자인 패턴의 세계에 오신 것을 환영합니다
누군가가 이미 여러분의 문제를 해결해 놓았습니다. 이 장에서는 똑같은 문제를 경험했고, 그 문제를 해결했던 다른 개발자들이 익혔던 지혜와 교훈을 왜 활용해야 하는지, 그리고 어떻게 활용할 수 있는지에 대해서 배우게 될 것입니다. 디자인 패턴의 활용 분야와 디자인 패턴에서 얻을 수 있는 장점에 대해 알아보고 몇 가지 핵심적인 객체지향 디자인 원칙을 살펴보고, 한 가지 패턴을 직접 살펴보면서 어떤 식으로 작동하는지 알아보도록 하겠습니다. 패턴을 사용하는 가장 좋은 방법은 패턴을 머리 속에 집어넣은 다음 자신의 디자인 및 기존 애플리케이션에서 어디에 적용할 수 있는지를 파악하는 것입니다. 디자인 패턴은 코드를 재사용하는 것과 마찬가지로 경험을 재사용하는 것이죠.

2 객체들에게 연락망을 돌립시다
뭔가 재미있는 일이 있다면 놓치고 지나가면 안 되겠죠? 뭔가 중요한 일이 일어났을 때 객체들한테 새소식을 알려줄 수 있는 패턴이 있습니다. 객체 쪽에서는 계속해서 정보를 받을지 여부를 실행중에 결정할 수 있습니다. 옵저버(Observer) 패턴은 JDK에서 가장 많이 쓰이는 패턴 가운데 하나입니다. 그리고 정말 유용한 패턴이죠. 이 장에서는 일대다 관계와 느슨한 결합에 대해서도 배울 것입니다. 옵저버 패턴이 있으면 패턴당에서 한 자리를 차지할 수 있을 겁니다.

3 객체 꾸미기
이 장의 제목은 상속맨이 디자인에 눈을 뜨게 되는 과정을 보여주는 장입니다. 이 장에서는 상속을 남용하는 전형적인 예를 살펴보고 객체 작성이라는 형식으로 실행중에 클래스를 꾸미는(데코레이션하는) 방법을 배워봅시다. 일단 데코레이터 패턴을 배우고 나면 원래 클래스의 코드는 전혀 바꾸지 않고도 여러분이 만든(또는 다른 사람들이 만든) 객체에 새로운 임무를 부여할 수 있습니다.

4 객체지향 빵 굽기
느슨한 결합을 이용하는 객체지향 디자인을 만들어 봅시다. 단순히 새로운 연산자를 만드는 것보다는 객체를 만드는 과정이 더 중요합니다. 이 장에서는 객체의 인스턴스를 만드는 작업이 항상 공개되어 있어야 하는 것은 아니며, 모든 것을 공개했다가는 결합과 관련된 문제가 생길 수 있다는 것을 배우게 될 것입니다. 설마 결합 관련 문제를 원하는 사람이 있진 않겠죠? 팩토리 패턴을 이용하여 불필요한 의존성을 없애는 방법을 알아 봅시다.

5 세상에서 단 하나뿐인 특별한 객체
이제 싱글턴 패턴에 대해 알아봅시다. 인스턴스가 하나 뿐인 특별한 객체를 만들 수 있게 해 주는 패턴이죠. 싱글턴 패턴은 클래스 다이어그램만 놓고 보면 그 어떤 패턴보다도 간단합니다. 클래스 다이어그램에 클래스가 달랑 하나 밖에 없으니까요. 하지만 그렇다고 해서 너무 만만하게 보지는 마세요. 클래스 디자인 관점에서 보면 아주 단순하지만 구현하는 데 있어서는 적지 않은 난관이 기다리고 있을 테니까요. 자, 이제 마음을 단단히 먹고 출발해 볼까요?

6 호출 캡슐화
이 장에서는 한 차원 높은 단계의 캡슐화를 배워보겠습니다. 바로 메소드 호출을 캡슐화하는 것이죠. 메소드 호출을 캡슐화하면 계산 과정의 각 부분들을 결정화시킬 수 있기 때문에, 계산하는 코드를 호출한 객체에서는 어떤 식으로 일을 처리해야 하는지에 대해 전혀 신경 쓰지 않아도 됩니다. 그냥 결정화된 메소드를 호출해서 필요한 일만 잘 할 수 있으면 되는 거죠. 그 외에도 캡슐화된 메소드 호출을 로그 기록용으로 저장을 한다거나 취소(undo) 기능을 구현하기 위해 재사용하는 것과 같이 신기한 작업을 할 수도 있습니다.

7 적응시키기
이 장에서는 네모난 기둥을 동그란 구멍에 끼우는 것과 같은 불가능해 보이는 묘기를 배워 보겠습니다. 절대 안 될 것 같죠? 하지만 디자인 패턴을 사용하면 가능합니다. 데코레이터 패턴 기억 나세요? 객체를 래퍼로 감싸서 새로운 역할을 부여했었죠. 이번에는 다른 목적으로 객체를 감쌀 것입니다. 실제와 다른 인터페이스를 가진 것처럼 보이도록 할 계획입니다. 왜 그렇게 해야 할까요? 그렇게 하면 특정 인터페이스를 필요로 하는 디자인을 다른 인터페이스를 구현하는 클래스에 적응시킬 수 있기 때문입니다. 그 외에 객체를 감싸서 인터페이스를 단순화시킬 수 있는 다른 패턴도 알아보도록 하겠습니다.

8 알고리즘 캡슐화
지금까지 여러 가지 캡슐화를 많이 했었죠? 객체 생성, 메소드 호출, 복잡한 인터페이스, 오리, 피자 같은 걸 캡슐화했었잖아요. 또 어떤 걸 캡슐화할 수 있을까요? 이 장에서는 알고리즘을 캡슐화해서, 서브클래스에서 언제든 필요할 때마다 가져다가 쓸 수 있도록 해 보겠습니다. 그리고 헐리우드로부터 영감을 얻은 디자인 원칙에 대해서도 배워 보도록 하겠습니다.

9 잘 관리된 컬렉션
객체를 컬렉션에 집어넣는 방법은 정말 다양합니다. 배열이든 Stack이든 Hashtable이든 아무거나 마음대로 골라서 사용하면 됩니다. 물론 각각 장단점을 따져보고 선택해야 되겠죠. 그런데, 언젠가는 클라이언트에서 컬렉션에 들어있는 모든 객체들에 일일이 접근하는 작업을 하고 싶어할 것입니다. 그런 경우에 클라이언트한테 개첵들을 어떤 식으로 저장했는지 전부 보여줘야 할까요? 저희 같으면 절대 그렇게 하지 않을 겁니다. 프로답지 못한 행동이죠. 객체를 저장하는 방식은 보여주지 않으면서도 클라이언트로 하여금 객체들에 일일이 접근할 수 있게 해 줄 수 있는 방법이 있습니다. 그리고 한 방에 멋진 자료 구조로 변신할 수 있는, 객체들로 구성된 수퍼 컬렉션에 대해서도 알아보겠습니다. 그 밖에 객체의 역할에 대한 내용도 몇 가지 더 배우게 될 것입니다.

10 객체의 상태
한 가지 비밀을 알려드릴까요? 전략 패턴과 스테이트 패턴은 태어나자마자 헤어지긴 했지만 원래 쌍동이랍니다. 이미 배웠듯이 스트래티지 패턴(Strategy Pattern)은 바꿔 쓸 수 있는 알고리즘을 내세워서 큰 성공을 거뒀습니다. 하지만 스테이트 패턴(State Pattern)은 내부 상태를 바꿈으로써 객체에서 행동을 바꾸는 것을 도와주는, 좀더 고상한 길을 택했죠. 스테이트 패턴이 클라이언트 객체들한테 "자, 소리내서 말해 보세요. 난 할 수 있다! 난 똑똑하다! 해야 한다!"라고 얘기하는 걸 종종 들을 수 있답니다.

11 객체 접근 제어
혹시 좋은 경찰, 나쁜 경찰 놀이라고 들어 보셨나요? 여러분이 좋은 경찰이라고 해 봅시다. 좋은 경찰은 다양한 서비스를 친절하고 성심 성의껏 제공합니다. 하지만 모든 사람들이 다 서비스를 요구하게 되면 일이 너무 많아지기 때문에, 나쁜 경찰이 좋은 경찰에 대한 접근을 제어하도록 해 놓았습니다. 바로 그게 프록시(proxy)가 하는 일입니다. 접근을 제어하고 관리하죠. 조만간 배우게 되겠지만 프록시는 자신이 대변하는 객체와 그 객체에 접근하고자 하는 클라이언트 사이에서 여러 가지 방식으로 작업을 처리합니다. 프록시는 자신이 대변하는 객체에 대해서 인터넷을 통해 들어오는 메소드 호출을 쫓아내는 것으로 알려져 있습니다. 또한 게으른 객체들을 대신해서 끈기 있게 기다리는 일을 맡고 있기도 하죠.

12 패턴들로 이루어진 패턴
혹시 여러 패턴을 섞어서 쓸 수 있다는 생각을 해 보신 적이 있으신가요? 아마 안방 토크에서 디자인 패턴끼리 치열한 설전을 벌이는 것을 여러 번 보셨을 것입니다. (편집 과정에서 제외된 패턴 데스 매치는 아마 못 보셨겠지만요) 그렇게 서로 사이가 안 좋은 패턴들이 서로 힘을 합쳐서 문제를 해결한다는 걸 쉽게 받아들이기는 힘들 것입니다. 하지만 여러 패턴을 함께 사용하면 더욱 강력한 객체지향 디자인을 만들 수 있습니다. 이제 패턴 활용법을 한 단계 끌어올려줄 수 있는 컴파운드 패턴에 대해서 살펴보도록 합시다.

13 실전에서의 디자인 패턴
이제 디자인 패턴으로 가득한 아름다운 신세계를 살아갈 준비가 다 끝났습니다. 하지만 새로운 세상으로 들어가기 전에 실전에서 맞닥뜨릴 수 있는 몇 가지 자질구레한 문제점들을 다뤄보도록 하겠습니다. 객체마을에 비하면 실전이 진행되는 현실 세계는 더 복잡하거든요. 다음 페이지로 넘어가시면 실전에 대비하기 위한 훌륭한 지침서를 보실 수 있습니다...

14 부록: 기타 패턴
누구나 인기스타가 될 수 있는 것은 아닙니다. 지난 10년 동안 많은 것이 바뀌었습니다. GoF의 디자인 패턴 책이 나온 이후로 많은 개발자들이 그 책에 들어있는 패턴들을 사용했죠. 이 장에 요약해 놓은 패턴들도 훌륭한 공식 GoF 패턴입니다. 다만 앞에서 다뤘던 패턴들에 비해 조금 덜 쓰일 뿐입니다. 여기에 있는 패턴들도 모두 좋은 패턴입니다. 상황에 따라 매우 유용하게 써먹을 수 있죠. 필요하다면 적극적으로 사용해 보세요. 여기에서는 앞에서 소개하지 못한 패턴들을 간략하게 훑어보고 넘어가도록 하겠습니다.

회원리뷰 (14건) 회원리뷰 이동

한줄평 (10건) 한줄평 이동

총 평점 9.2점 9.2 / 10.0

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  • 절판 상태입니다.
뒤로 앞으로 맨위로 공유하기