본문 바로가기

추천 검색어

실시간 인기 검색어

JAVA 객체지향 디자인 패턴

UML과 GoF 디자인 패턴 핵심 10가지로 배우는
정인상 , 채흥석 저자(글)
한빛미디어 · 2014년 04월 02일
9.6
10점 중 9.6점
(16개의 리뷰)
집중돼요 (50%의 구매자)
  • JAVA 객체지향 디자인 패턴 대표 이미지
    JAVA 객체지향 디자인 패턴 대표 이미지
  • A4
    사이즈 비교
    210x297
    JAVA 객체지향 디자인 패턴 사이즈 비교 183x235
    단위 : mm
01 / 02
무료배송 이벤트 소득공제
10% 25,200 28,000
적립/혜택
1,400P

기본적립

5% 적립 1,400P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,400P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

『JAVA 객체지향 디자인 패턴』은 자바와 UML을 중심으로 객체지향 이론이 무엇인지를 배운 다음 GoF에서 소개하는 디자인 패턴의 핵심 10가지를 알기 쉽게 소개한다. 실제 디자인 패턴을 익히고 활용할 수 있는 다수의 연습 문제를 해결하다 보면 프로그래밍의 기초 개념도 익힐 수 있고, 다양한 실무 프로젝트 환경에서 능력 있는 프로그래머가 되는 초석을 다지게 될 것이다.

작가정보

저자(글) 정인상

저자 정인상은 현재 한성대학교 컴퓨터공학과 교수로 재직 중이다. 누구보다 뜨거운 열정을 품고 한 사람이라도 프로그래밍에 좀 더 익숙해지기를 바라는 분이다. 관심 분야는 애자일 프로세스와 테스트, 객체지향 설계, 테스트 프로세스, 테스트케이스 자동 생성이다.

저자(글) 채흥석

저자 채흥석은 현재 부산대 정보컴퓨터공학부 교수로 재직 중이다. 척박한 국내 프로젝트 현실에 객체지향 CBD 관련 기법을 직접 적용하면서 나름의 이론체계를 정립했으며, 지금도 소프트웨어 개발 프로세스의 개선을 위해 다양한 실험적 연구 활동을 활발히 하고 있다. 관심 분야는 객체지향 설계, 컴포넌트 기반 설계, 테스트 케이스 설계, 테스트 프로세스다.

목차

  • CHAPTER 1 객체지향 모델링
    __1.1 모델링
    __1.2 UML
    __1.3 클래스 다이어그램
    ____1.3.1 클래스
    ____1.3.2 관계
    __체크포인트 해설
    __연습문제

    CHAPTER 2 객체지향 원리
    __2.1 추상화
    __2.2 캡슐화
    __2.3 일반화 관계
    ____2.3.1 일반화는 또 다른 캡슐화
    ____2.3.2 일반화 관계와 위임
    ____2.3.3 집합론 관점으로 본 일반화 관계
    __2.4 다형성
    __2.5 피터 코드의 상속 규칙
    __체크포인트 해설
    __연습문제

    CHAPTER 3 SOLID 원칙
    __3.1 단일 책임 원칙
    ____3.1.1 책임의 의미
    ____3.1.2 변경
    ____3.1.3 책임 분리
    ____3.1.4 산탄총 수술
    ____3.1.5 관심지향 프로그래밍과 횡단 관심 문제
    __3.2 개방-폐쇄 원칙
    __3.3 리스코프 치환 원칙
    __3.4 의존 역전 원칙
    __3.5 인터페이스 분리 원칙
    __체크포인트 해설
    __연습문제

    CHAPTER 4 디자인 패턴
    __4.1 디자인 패턴의 이해
    __4.2 GoF 디자인 패턴
    __4.3 UML과 디자인 패턴
    ____4.3.1 컬레보레이션
    ____4.3.2 순차 다이어그램
    ____4.3.3 순차 다이어그램과 클래스 다이어그램의 관계
    __체크포인트 해설
    __연습문제

    CHAPTER 5 스트래티지 패턴
    __5.1 로봇 만들기
    __5.2 문제점
    ____5.2.1 기존 로봇의 공격과 이동 방법을 수정하는 경우
    ____5.2.2 새로운 로봇에 공격/이동 방법을 추가/수정하는 경우
    __5.3 해결책
    __5.4 스트래티지 패턴
    __연습문제

    CHAPTER 6 싱글턴 패턴
    __6.1 프린터 관리자 만들기
    __6.2 문제점
    __6.3 해결책
    __6.4 싱글턴 패턴
    __6.5 싱글턴 패턴과 정적 클래스
    __연습문제

    CHAPTER 7 스테이트 패턴
    __7.1 상태 머신 다이어그램
    __7.2 형광등 만들기
    __7.3 문제점
    __7.4 해결책
    __7.5 스테이트 패턴
    __연습문제

    CHAPTER 8 커맨드 패턴
    __8.1 만능 버튼 만들기
    __8.2 문제점235
    ____8.2.1 버튼을 눌렀을 때 다른 기능을 실행하는 경우
    ____8.2.2 버튼을 누르는 동작에 따라 다른 기능을 실행하는 경우
    __8.3 해결책
    __8.4 커맨드 패턴
    __연습문제

    CHAPTER 9 옵서버 패턴
    __9.1 여러 가지 방식으로 성적 출력하기
    __9.2 문제점
    ____9.2.1 성적을 다른 형태로 출력하는 경우
    ____9.2.2 동시 혹은 순차적으로 성적을 출력하는 경우
    __9.3 해결책
    __9.4 옵서버 패턴
    __연습문제

    CHAPTER 10 데커레이터 패턴
    __10.1 도로 표시 방법 조합하기
    __10.2 문제점
    ____10.2.1 또다른 도로 표시 기능을 추가로 구현하는 경우
    ____10.2.2 여러 가지 추가 기능을 조합해야 하는 경우
    __10.3 해결책
    __10.4 데커레이터 패턴
    __연습문제

    CHAPTER 11 템플릿 메서드 패턴
    __11.1 여러 회사의 모터 지원하기
    __11.2 문제점
    __11.3 해결책
    __11.4 템플릿 메서드 패턴
    __연습문제

    CHAPTER 12 팩토리 메서드 패턴
    __12.1 여러 가지 방식의 엘리베이터 스케줄링 방법 지원하기
    __12.2 문제점
    __12.3 해결책
    __12.4 팩토리 메서드 패턴
    __연습문제

    CHAPTER 13 추상 팩토리 패턴
    __13.1 엘리베이터 부품 업체 변경하기
    __13.2 문제점348
    ____13.2.1 다른 제조 업체의 부품을 사용해야 하는 경우
    ____13.2.2 새로운 제조 업체의 부품을 지원해야 하는 경우
    __13.3 해결책
    __13.4 추상 팩토리 패턴
    __연습문제

    CHAPTER 14 컴퍼지트 패턴
    __14.1 컴퓨터에 추가 장치 지원하기
    __14.2 문제점
    __14.3 해결책
    __14.4 컴퍼지트 패턴
    __연습문제

    연습문제 정답 및 해설

    찾아보기

책 속으로

지은이 서문

거의 1년에 걸친 작업을 마치고 출판사로부터 책의 서문을 부탁받았을 때 1초의 망설임도 없이 서문에 꼭 넣어야겠다는 단어가 떠올랐습니다. 바로 ‘변화’입니다. 이 단어의 의미를 이 책에서 꼭 설명하고 싶었습니다. 만약 이 책의 마지막 쪽을 덮고 (물론 그 전이라도) ‘변화’의 의미를 이해했다면 이 책을 쓴 목적을 이루었다고 해도 무방하리라 생각합니다.

‘디자인 패턴’을 학생들에게 가르친 지가 얼마나 되었는지 알아보려고 학교 종합 정보 시스템에 접속해봤습니다. 2006년부터 강의했더군요. 벌써 8년이란 세월이 흘렸네요. 그러나 강의를 하면 할수록 진흙 속에 숨어 있는 진주를 찾는 기분이었습니다. 작년에는 보이지 않던 것이 올해에는 보이는 그런 기분 말이죠.

항상 제가 수업 첫 시간에 학생들에게 던지는 질문이 있습니다.

‘클래스’가 무엇인가요?

대부분의 학생은 이 질문에 ‘멤버 변수와 메서드가 포함된 무엇’이라고 답합니다. 왜냐하면 디자인 패턴을 수강하는 거의 모든 학생이 C++나 자바 같은 객체지향 프로그래밍 언어에 대한 지식이 있기 때문입니다. 이와 같은 언어로 프로그램을 작성할 때 가장 많이 사용하는 것이 클래스일 겁니다. 또한 학생 스스로 작성했던 클래스 안에 속성을 표현하려고 멤버 변수를 사용하고, 행위를 표현하려고 메서드를 사용하므로 클래스를 이처럼 정의할 것입니다. 물론 이 대답이 잘못된 것은 아닙니다. 그러나 속성과 행위가 합쳐진 그 무엇으로 클래스를 바라봤을 때는 꼭 그렇지는 않습니다. 실제 현업이나 그 전에 경험하지 못한 도메인에서 프로그래밍할 때 어떤 것을 클래스로 만들어야 하는지가 매우 어려울 수 있기 때문이죠.

프로그래밍을 배우는 사람이라면 누구라도 프로그래밍을 잘하고 싶을 것입니다. 제 경험에 미루어 프로그래밍을 잘하는 가장 좋은 방법은 다른 사람이 만든 프로그램을 열심히 살펴보는 것입니다. 물론 전제가 있습니다. 경험이 많고 실력 있는 프로그래머가 작성한 좋은 프로그램을 살펴봐야 합니다. 그러나 여기에 함정이 있습니다. 경험이 많고 실력이 있다고 해서 항상 좋은 프로그램을 만드는 것은 아닙니다. 좋은 프로그램이 만들어지기까지는 여러 조건이 충족되어야 하지만 가장 중요한 한 가지는 비슷한 문제에 바로 적용할 수 있어야 한다는 겁니다. 이런 경우 디자인 패턴은 수십 년 동안 자주 반복되던 문제가 발생한 상황에서 재사용할 수 있는 해결책을 제공합니다.

이 책에서는 지금까지 소개된 모든 디자인 패턴을 다루지는 않습니다. 책의 전반부에 해당하는 1장부터 3장까지는 디자인 패턴을 이해하는 데 필요한 객체지향의 기본 개념을 다루고 실제 이를 바탕으로 소프트웨어를 설계할 때 지켜야 하는 원칙을 설명합니다. 반드시 알아야 하는 UML도 다루었습니다. 4장에서는 디자인 패턴을 간단히 소개하고 5장부터 14장에 걸쳐 가장 기본이 되고 핵심이 되는 10개의 디자인 패턴을 소개했습니다. 만약 이 책에서 소개한 디자인 패턴을 이해하고 실제 프로그래밍에 적용할 수 있다면 소개되지 않은 다른 디자인 패턴을 이해하는 것도 그리 어려운 일은 아닐 거라고 생각합니다.

세상은 변합니다. 변화되지 않은 세상은 죽은 세상일 겁니다. 따라서 기존의 것을 바꾸고 새로운 것을 항상 받아들일 수 있는 준비가 되어 있어야 합니다. 변화를 두려워하면 발전이라는 달콤한 열매를 맛볼 수 없을 겁니다. 이게 세상의 이치입니다. 프로그래밍도 마찬가지입니다. 좋은 프로그램은 항상 변화에 대응할 준비가 되어 있습니다. 이 책을 읽는 독자라면 뭐가 변화되는지에 대해 항상 두 눈을 부릅뜨고 살펴보기 바랍니다. 디자인 패턴은 좋은 프로그램을 만들기 위한 도구입니다. 그러므로 디자인 패턴을 제대로 이해하려면 만들어진 프로그램을 흔들어 보고 어떤 것이 변화되는지를 잘 살펴봐야 합니다.

“클래스는 변화의 기본 단위입니다.”

2014. 3_ 정인상, 채흥석

출판사 서평

이 책이 제시하는 핵심 내용

객체지향 이론과 UML을 통해 GoF 디자인 패턴의 핵심 10가지를 배운다.

이 책의 특징과 장점

5단계 학습법으로 디자인 패턴을 정복한다.
1. 문제 사례 설명: 실생활에서 일어날 사례 하나를 설명하고 이를 분석해서 정리하는 과정을 다룬다.
2. 문제점 인식: 해당 사례의 문제점이 무엇인지를 확인하고, 해결책을 도입하는 데 해야 할 일이 무엇인지를 파악한다.
3. 해결책 도입: 인식한 문제점을 실제로 해결한다. 문제점을 해결하다 보면 굳이 해당 디자인 패턴의 이론을 인식하지 않아도 디자인 패턴을 습득할 수 있다.
4. 해당 패턴 설명: 지금까지 배운 사례를 정리하면서 해당 디자인 패턴의 이론을 정립한다.
5. 연습 문제 해결: 다른 사례를 해당 디자인 패턴 방식으로 해결하면서 응용력을 향상한다.

어떤 독자를 위한 책인가?

ㆍ 자바 초?중급 프로그래머
ㆍ 디자인 패턴을 공부하려는 객체지향 프로그래머
ㆍ 객체지향과 UML의 기초 개념을 배우려는 대학생

도서 특징(책 표지 글)

체계적인 학습법을 바탕으로 설명하는 객체지향 디자인 패턴의 교과서
처음에 기초를 탄탄히 다진 프로그래머가 진행하는 프로젝트는 개발상의 변경 사항이 적어 흔들림 없이 운영되기 마련이다. 이러한 프로그래머가 되려면 꼭 한 번은 배워야 하는 과정이 정확한 객체지향 이론으로 프로그램과 프로젝트를 설계하는 방법, 즉 디자인 패턴을 배우는 일이다. 이 책은 자바와 UML을 중심으로 객체지향 이론이 무엇인지를 배운 다음 GoF에서 소개하는 디자인 패턴의 핵심 10가지를 알기 쉽게 소개한다. 실제 디자인 패턴을 익히고 활용할 수 있는 다수의 연습 문제를 해결하다 보면 프로그래밍의 기초 개념도 익힐 수 있고, 다양한 실무 프로젝트 환경에서 능력 있는 프로그래머가 되는 초석을 다지게 될 것이다.

관련도서

-. 『뇌를 자극하는 Java 프로그래밍』(2006)
-. 『Head First Design Pattern: 스토리가 있는 패턴 학습법』(2005)
-. 『Elemental Design Patterns: 객체지향과 디자인 패턴의 연결 고리』(2013)

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수을(를) 나타낸 표입니다.
ISBN 9788968480911
발행(출시)일자 2014년 04월 02일
쪽수 504쪽
크기
183 * 235 mm / 998 g
총권수 1권

Klover

구매 후 리뷰 작성 시, e교환권 200원 적립

데이터를 불러오는 중입니다.

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요

교환/반품/품절 안내

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

    이벤트
    • 미리보는 2025 대선
    • 윌북 브랜드전
    01 / 02
    TOP