객체지향의 사실과 오해 (역할, 책임, 협력 관점에서 본 객체지향)

조영호

객체지향에 대한 선입견을 버려라!『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 널리 퍼져있는 오해는 클래스가 객체지향 프로그래밍의 중심이라는 것이다....

이 책을 읽은 사람들

(이)가 주로 이 책을 읽었어요.

이 책에 남긴 코멘트

9
프로필 이미지
김예나
CTO
약 4년
도움됐어요4
1. 전반적으로 읽기 쉬운 교양서 느낌이나, 내용이 알차고 도움된다. 객체지향 관점에서 책임, 메세지 중심으로 설계해야한다는 것을 알게되었음. 2. 소프트웨어 세상에서의 `객체`란 현실 반영/ 투영이라기 보다 메타포에 가깝다. 3. 소프트웨어는 유저에게 문제 해결을 위한 특정 기능을 제공하기 위해 있는 것이고, 그 기능은 변하기 마련이다. 소프트웨어 개발자로서 변화에 유연한 프로그램을 설계하는 것에 집중해야 하며, 그러한 설계의 핵심은 `도메인 모델`에 기반하여 객체간 관계를 맺는 것이다. 4. `유즈케이스`는 사용자의 기능 시나리오이며, 불안정하고 변하기 쉽다. 5.프로그램을 설계할때는 `협력` 중심으로 설계해야 한다. 6. 추상화 & 모델링을 통해 불확실성을 단순화하면 game rule이 보인다. 추상화의 목적은 불필요한 부분을 무시함으로써 현실에 존재하는 복잡성을 극복하는 것이다. 추상화는 현실을 단순화하기 위해 사용하는 인간의 가장 기본적인 인지수단이다. 7. 복잡성을 다루기 위한 추상화는 두 차원에서 이뤄진다. - 구체적인 사물들간의 공통점은 취하고, 차이점은 버리는 일반화 - 중요한 부분을 강조하기 위해 불필요한 세부사항을 제거 8. 도메인 모델은 사용자가 프로그램을 사용하는 대상 영역에 관한 지식을 선택적으로 단순화하고 의식적으로 구조화한 형태이다. 9. 구조는 사용자나 이해관계자들이 domain에 관해 생각하는 개념과 개념 간의 관계를 표현한다. 10. 기능은 사용자의 목표를 만족시키기 위해 책임을 수행하는 시스템의 행위이다.
;