본문 바로가기

소프트웨어,IT,컴퓨터공학 도서리뷰/개념 서적: (Conceptual Books): TDD, OOP, DDD

객체지향의 사실과 오해: 역할, 책임, 협력관점에서 본 객체지향 -조영호 지음- [6/7]

정답이란 없는 객체지향. 객체지향은 견해이다.

 


 

객체지향에 대한 깊은 고찰을 느끼고 싶다면 이 책을 읽어라!

점수 :

★★★★★★☆

 


 

읽은 기간 📅 : 2020년 7월 7일 ~ 7월 29일

이 책을 추천하는 이들 👨‍👧 [ 중급 도서라고 생각한다! ]

  • 객체지향이 아직도 모호한 사람들. [ 사실 읽고 나서도 모호한 감은 남아있지만..ㅎ]
  • 객체지향의 전체적인 개념을 얻고 싶은 사람들.
  • 책임, 역할, 협력이라는 새로운 도메인 관점을 경험하고 싶은 사람들.
  • 이상한 나라의 엘리스를 좋아하는 개발자분들

 

관련된 책들 📚

  1. 오브젝트. [ 해당 책은 이후에 나올 "오브젝트"라는 책의 이해를 돕기 위한 초석입니다. ]
  2. 크레이그 라만의 APPLYING UML AND PATTERNS. [ 원서를 갖고 있는데... 도중에 하차한 책. 다시 도전해야겠다! ]
  3. DDD [ 에릭 에반스 => 도메인 모델 ]

이외에도 부록에 참고할 책들이 많다.


한 줄 평 ✍️

객체지향 패러다임은 프로그래밍 언어 서적을 공부할 때 필수적으로 거치게 되는 난관이다.

추상화, 상속, 캡슐화, 정보 은닉, 다형성[ 객체지향의 꽃], 인터페이스 등등을 배우지만, 프로그래밍 언어 서적에서는 핵심적인 부분만 터치할 뿐, 깊은 지식은 별도의 책으로 공부하라고 권장하면서 지식을 위임한다.

 

객체지향에 대해서 본질적인 공부를 하기엔 시중에 존재하는 객체지향과 관련된 책들은 너무도 깊고 지루한 편이다.

내가 생각하기 론 가장 이상적으로 객체지향을 공부하는 방식은 모델링 언어[ 대표적으로 Java, 객체지향 패러다임이 가능한 대부분의 언어]와 해당 언어를 이용하는 프레임워크를 공부하면서 즉시즉시 객체지향적인 요소를 공부하는 것이다.

[ 그런 김에 최근에는 스프링 프레임워크를 공부하고 있으며 해당 책은 "스프링 입문을 위한 자바 객체지향의 원리와 이해"이다. ]

딱딱하고 두꺼운 객체지향 서적에서 정수만 뽑아준 책이라는 생각이 든다. 정수를 추출한 만큼 어렵기도 하고, 머릿속으로 한 번에 들어가지도 않는다. ㅠㅠ [한 줄 평이 길었다!]

추후에 큰 프로젝트에 참여하게 된다면 도중에 혹은 끝나고 나서 다시 읽고 싶은 책이다.

 


이 책의 목적

⇒ 객체지향으로 향하는 첫 걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다.

⇒ 객체지향으로 향하는 두 번째 걸음은 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 존재로 바라보는 것이다. [ 인문학적이다... 공동체! [협력, 책임 ] ] ( 객체지향의 핵심이라고 생각함. )

⇒ 협력에 참여하는 객체들에게 얼마나 적절한 역할과 책임을 부여할 수 있느냐에 달려 있다.

⇒ 마지막 걸음은 앞에서 설명한 개념들을 여러분이 사용하는 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것이다.

[ 책의 앞부분에 나오는 내용이다. ]

해당 책을 읽고 나서 다시 돌아와서 말머리를 살펴보니.. 확실히 "오브젝트"로 이끌어 주기 위한 책이라는 것을 알게 된다.

 

다음 책으로는 고전중의 고전인 "프로그래밍 심리학"을 읽고자 한다.

이후 "오브젝트"를 공부하고자 한다. [ 2달 예상.. ]

 

메모하면서 공부하다보니 하루 1시간 20일이 걸렸다.

대략 20시간의 투자가 필요한 책!

 

이 책을 읽다 보면 생각보다 많은 인문학 지식에 놀라게 된다.

이 책을 읽는 도중에 경험하는 삶에서 "책임", "역할", "협력"이라는 말이 일상생활에서 얼마나 자연스럽게 쓰이고, 중요한 개념으로 쓰이게 되는지 알게 되었다. 객체지향 패러다임은 소프트웨어 설계를 하면서 필수적인 관점인 이유는 삶을 바라보는 관점과 같아서가 아닐까 한다.

 


 

객체지향의 사실과 오해:역할 책임 협력 관점에서 본 객체지향, 위키북스

 

반응형