객체지향의 사실과 오해

조영호
260p
구매 가능한 곳
별점 그래프
평균3.9(42명)
평가하기
3.9
평균 별점
(42명)
위키북스 IT Leaders 시리즈 23권. 객체지향이란 무엇인가? 이 책은 이 질문에 대한 답을 찾기 위해 노력하고 있는 모든 개발자를 위한 책이다. 이 책의 목적은 특정한 기술이나 언어를 설명하는 데 있지 않다. 대신 객체지향적으로 세상을 바라본다는 것이 무엇을 의미하는지를 설명하는 데 있다. 이를 위해 많은 사람들이 가지고 있는 객체지향에 관한 잘못된 편견과 선입견의 벽을 하나씩 무너트려가면서 객체지향이 추구하는 가치를 전달한다.

[9주년] 해피 젝시 데이!

젝시믹스 9주년 기념 ~80% 빅 세일

젝시믹스 · AD

별점 그래프
평균3.9(42명)

[9주년] 해피 젝시 데이!

젝시믹스 9주년 기념 ~80% 빅 세일

젝시믹스 · AD

저자/역자

코멘트

5

목차

▣ 01장: 협력하는 객체들의 공동체 __협력하는 사람들 ____커피 공화국의 아침 ____요청과 응답으로 구성된 협력 ____역할과 책임 __역할, 책임, 협력 ____기능을 구현하기 위해 협력하는 객체들 ____역할과 책임을 수행하며 협력하는 객체들 __협력 속에 사는 객체 ____상태와 행동을 함께 지닌 자율적인 객체 ____협력과 메시지 ____메서드와 자율성 __객체지향의 본질 ____객체를 지향하라 ▣ 02장: 이상한 나라의 객체 __객체지향과 인지 능력 __객체, 그리고 이상한 나라 ____이상한 나라의 앨리스 ____앨리스 객체 __객체, 그리고 소프트웨어 나라 ____상태 ____행동 ____식별자 __기계로서의 객체 __행동이 상태를 결정한다 __은유와 객체 ____두 번째 도시전설 ____의인화 ____은유 ____이상한 나라를 창조하라 ▣ 03장: 타입과 추상화 __추상화를 통한 복잡성 극복 __객체지향과 추상화 ____모두 트럼프일 뿐 ____그룹으로 나누어 단순화하기 ____개념 ____개념의 세 가지 관점 ____객체를 분류하기 위한 틀 ____분류는 추상화를 위한 도구다 __타입 ____타입은 개념이다 ____데이터 타입 ____객체와 타입 ____행동이 우선이다 __타입의 계층 ____트럼프 계층 ____일반화/특수화 관계 ____슈퍼타입과 서브타입 ____일반화는 추상화를 위한 도구다 __정적 모델 ____타입의 목적 ____그래서 결국 타입은 추상화다 ____동적 모델과 정적 모델 ____클래스 ▣ 04장: 역할, 책임, 협력 __협력 ____요청하고 응답하며 협력하는 사람들 ____누가 파이를 훔쳤지? ____재판 속의 협력 __책임 ____책임의 분류 ____책임과 메시지 __역할 ____책임의 집합이 의미하는 것 ____판사와 증인 ____역할이 답이다 ____협력의 추상화 ____대체 가능성 __객체의 모양을 결정하는 협력 ____흔한 오류 ____협력을 따라 흐르는 객체의 책임 __객체지향 설계 기법 ____책임-주도 설계 ____디자인 패턴 ____테스트-주도 개발 ▣ 05장: 책임과 메시지 __자율적인 책임 ____설계의 품질을 좌우하는 책임 ____자신의 의지에 따라 증언할 수 있는 자유 ____너무 추상적인 책임 ____'어떻게'가 아니라 '무엇'을 ____책임을 자극하는 메시지 __메시지와 메서드 ____메시지 ____메서드 ____다형성 ____유연하고 확장 가능하고 재사용성이 높은 협력의 의미 ____송신자와 수신자를 약하게 연결하는 메시지 __메시지를 따라라 ____객체지향의 핵심, 메시지 ____책임-주도 설계 다시 살펴보기 ____What/Who 사이클 ____묻지 말고 시켜라 ____메시지를 믿어라 __객체 인터페이스 ____인터페이스 ____메시지가 인터페이스를 결정한다 ____공용 인터페이스 ____책임, 메시지, 그리고 인터페이스 __인터페이스와 구현의 분리 ____객체 관점에서 생각하는 방법 ____구현 ____인터페이스와 구현의 분리 원칙 ____캡슐화 __책임의 자율성이 협력의 품질을 결정한다 ▣ 06장: 객체 지도 __기능 설계 대 구조 설계 __두 가지 재료: 기능과 구조 __안정적인 재료: 구조 ____도메인 모델 ____도메인의 모습을 담을 수 있는 객체지향 ____표현적 차이 ____불안정한 기능을 담는 안정적인 도메인 모델 __불안정한 재료: 기능 ____유스케이스 ____유스케이스의 특성 ____유스케이스는 설계 기법도, 객체지향 기법도 아니다 __재료 합치기: 기능과 구조의 통합 ____도메인 모델, 유스케이스, 그리고 책임-주도 설계 ____기능 변경을 흡수하는 안정적인 구조 ▣ 07장: 함께 모으기 __커피 전문점 도메인 ____커피 주문 ____커피 전문점이라는 세상 __설계하고 구현하기 ____커피를 주문하기 위한 협력 찾기 ____인터페이스 정리하기 ____구현하기 __코드와 세 가지 관점 ____코드는 세 가지 관점을 모두 제공해야 한다 ____도메인 개념을 참조하는 이유 ____인터페이스와 구현을 분리하라 __추상화 기법

출판사 제공 책 소개

객체지향에 대한 선입견을 버려랴! 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 널리 퍼져있는 오해는 클래스가 객체지향 프로그래밍의 중심이라는 것이다. 객체지향으로 향하는 첫 걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두 번째 걸음은 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 바라보는 것이다. 세 번째 걸음을 내디딜 수 있는지 여부는 협력에 참여하는 객체들에게 얼마나 적절한 역할과 책임을 부여할 수 있느냐에 달려 있다. 객체지향의 마지막 걸음은 앞에서 설명한 개념들을 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것이다. 객체지향이란 무엇인가? 이 책은 이 질문에 대한 답을 찾기 위해 노력하고 있는 모든 개발자를 위한 책이다. 현재의 소프트웨어 개발에 있어 가장 중요한 패러다임이 객체지향이라는 사실에 대부분 이견이 없을 것이다. 절차형 패러다임을 접목한 C++나 함수형 패러다임을 접목한 Scala나 Java 8과 같은 멀티패러다임 언어들이 인기를 끌고 있지만 여전히 그 중심에는 객체지향 패러다임이 위치한다. 그러나 객체지향이 소프트웨어 개발 패러다임에 대한 패권을 쥔 이후로 많은 시간이 흘렀음에도 소프트웨어 개발 커뮤니티는 여전히 객체지향이란 무엇인가라는 질문에 정확하게 대답하지 못하고 있다. 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 널리 퍼져있는 오해는 클래스가 객체지향 프로그래밍의 중심이라는 것이다. 객체지향으로 향하는 첫 걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두 번째 걸음은 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 바라보는 것이다. 세 번째 걸음을 내디딜 수 있는지 여부는 협력에 참여하는 객체들에게 얼마나 적절한 역할과 책임을 부여할 수 있느냐에 달려 있다. 객체지향의 마지막 걸음은 앞에서 설명한 개념들을 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것이다. 이 책의 목적은 특정한 기술이나 언어를 설명하는 데 있지 않다. 대신 객체지향적으로 세상을 바라본다는 것이 무엇을 의미하는지를 설명하는 데 있다. 이를 위해 많은 사람들이 가지고 있는 객체지향에 관한 잘못된 편견과 선입견의 벽을 하나씩 무너트려가면서 객체지향이 추구하는 가치를 전달한다. 이 책을 읽고 나면 기존의 선입견에서 벗어나 다음과 같은 객체지향의 진실과 마주하게 될 것이다. ◎ 객체지향의 핵심은 역할, 책임, 협력이다. ◎ 객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다. ◎ 객체지향은 클래스를 지향하는 것이 아니라 객체를 지향하는 것이다. 클래스는 단지 구현 메커니즘일 뿐이다. ◎ 자율적인 책임이 자율적인 객체와 유연한 설계를 낳는다. ◎ 객체지향은 안정적인 도메인 구조에 불안정한 기능을 통합한 것이다. ◎ 객체가 메시지를 선택하는 것이 아니라 메시지가 객체를 선택하게 해야 한다.

이 작품이 담긴 컬렉션

5
  • 데이터 출처
  • 서비스 이용약관
  • 개인정보 처리방침
  • 회사 안내
  • © 2024 by WATCHA, Inc. All rights reserved.