객체지향 사고 프로세스 (프로그래밍보다 먼저 익혀야 하는 생각의 기술 | 5 판)

객체지향 사고 프로세스 (프로그래밍보다 먼저 익혀야 하는 생각의 기술 | 5 판)

$26.02
Description
원리와 개념 중심으로 익히는 객체지향 사고방식!
이 책은 객체지향 프로그래밍을 기술뿐 아니라 개념 수준, 더 나아가서는 철학 수준에서부터 다룹니다. 또한, 프로그래머들이 객체지향의 탄탄한 이론적 기반을 다지고, 객체지향적으로 생각해나가는 과정을 제시합니다. 1999년 초판이 나온 이후 20년에 걸쳐 다양한 내용과 새로운 기술을 보강하여 5판까지 출간된 장수 스테디셀러입니다. 자신의 프로그래밍 스킬과 상관없이 객체지향 개념이 딱딱하거나 어렵게 느껴지는 모든 분에게 도움이 될 책입니다.
저자

맷와이스펠드

(MattWeisfeld)
오하이오주클리블랜드에있는CuyahogaCommunityCollege(Tri-C)의경영기술분야부교수다.기술위원회소속위원으로서프로그래밍,웹개발,사업개발등에집중하고있다.Tri-C에오기전에는20년간정보기술업계에서소프트웨어개발,프로젝트관리,소규모사업관리,사내교육및시간강사로서경험을쌓았다.또한,컴퓨터과학석사(MS)와프로젝트관리분야경영학석사(MBA)를취득하였다.《TheObject-OrientedThoughtProcess》이외에도두권의컴퓨터관련도서를집필하였고,informit.com,developer.com,《Dr.Dobb’sJournal》,《TheC/C++UsersJournal》,《SoftwareDevelopmentMagazine》,《JavaReport》등의잡지와저널그리고국제저널인《ProjectManagement》에논문을기고하였다.

목차

CHAPTER1객체지향개념소개1
기본개념2
객체와레거시시스템3
객체지향프로그래밍과절차적프로그래밍4
절차적개발에서객체지향적개발로옮겨타기9
객체란정확히무엇일까?10
클래스란정확히무엇을일컫는말인가?16
시각화도구로클래스다이어그램사용하기20
캡슐화및데이터은닉20
상속25
다형성29
합성33
결론35

CHAPTER2객체라는관점에서생각하는방법37
인터페이스와구현부의차이점이해39
인터페이스설계시추상적으로생각해보기47
가능한한사용자인터페이스를적게제공하기49
결론54
참고문헌54

CHAPTER3그밖의객체지향개념들55
생성자에관하여55
오류처리64
범위의중요성69
연산자오버로딩75
다중상속77
객체연산78
결론80
참고문헌80

CHAPTER4클래스해부하기81
클래스의이름82
속성84
생성자86
접근자88
공개인터페이스메서드91
비공개구현부메서드92
결론93
참고문헌93

CHAPTER5클래스설계지침95
현실세계시스템모델링95
공개인터페이스식별97
튼튼한생성자나소멸자가되게설계하기99
클래스에대한오류처리설계100
재사용을고려한설계102
확장성을고려한설계102
유지보수를고려한설계106
객체지속성사용110
결론111
참고문헌112

CHAPTER6객체를사용해설계하기113
설계지침114
객체래퍼121
결론128
참고문헌129

CHAPTER7상속과합성에익숙해지기131
객체재사용132
상속133
캡슐화가객체지향의기본이되는이유143
결론153
참고문헌154

CHAPTER8프레임워크및재사용:인터페이스와추상클래스를사용해설계하기155
코드:재사용할것인가,사용하지않을것인가?155
프레임워크란?156
계약이란?158
전자상거래사례173
결론182
참고문헌183

CHAPTER9객체구축과객체지향설계185
단계적으로구축하기187
합성유형190
의존체회피하기193
카디널리티195
종합:예제199
결론200
참고문헌200

CHAPTER10디자인패턴201
디자인패턴이필요한이유202
스몰토크의모델/뷰/컨트롤러204
디자인패턴의종류206
안티패턴216
결론218
참고문헌218

CHAPTER11의존적이거나경직된클래스가되지않게하기221
합성대상속,그리고의존성주입224
결론232
참고문헌233

CHAPTER12객체지향설계의SOLID원칙235
객체지향설계의SOLID원칙237
결론255
참고문헌255

찾아보기257

출판사 서평

원리와개념중심으로익히는객체지향사고방식!
객체지향개념을코드와클래스다이어그램으로이해한다!

객체지향프로그래밍은C++,자바,C#,비주얼베이직닷넷,루비,오브젝티브-C및스위프트등최신프로그래밍언어가기초로삼는방식입니다.또한,객체는자바스크립트,파이썬,PHP등으로구사할수있는다양한웹기술의초석역할을합니다.무엇보다객체지향프로그래밍방식을도입하면우수한설계관행,코드이식성,재사용성등을촉진할수있습니다.하지만이러한객체지향개발환경을사용하려면객체지향개념의기초부터다져야합니다.따라서객체지향프로그래밍방식을처음접한프로그래머라면특정프로그래밍언어나모델링언어를사용해보고싶은마음은잠시접어두고이책부터읽기를권합니다.

객체지향을더잘이해할수있게구성한이책은객체지향프로그래밍을해법지향적으로접근
하는방식을취합니다.이책을통해상속과합성을사용하는방법,응집과결합의차이점을이해하는방법,인터페이스와구현간의중요한차이점을이해하는방법을배울수있습니다.

프로그래밍기술이여러해에걸쳐변화하고진화해왔지만,플랫폼이무엇이든지간에객체지향개념은변하지않습니다.이책에서는지난20여년에걸쳐여전히중요한자리를차지하고있는객체지향사고방식의근원에초점을맞추며,새롭게범위를확장한디자인패턴을적용하는방법,의존성을피하는방법,소프트웨어를이해하기쉽고유연하며유지·관리하기쉬운것으로만드는SOLID원리를제시합니다.