본문 바로가기
Pluto의 책방

[플루토의 책방] "코드로 이해하는 객체지향 설계" Object (조영호 저자 / 위키북스)

by Dev. Pluto 2021. 11. 22.
반응형

안녕하세요! 플루토입니다. 오늘 소개해드릴 도서는 "Object" 라는 이름의 책입니다.


이렇게 표시를 해가면서까지 읽은 책은 지금까지 없었다..

 

 앞서 리뷰했었던 "객체지향의 사실과 오해" 라는 도서와 같은 저자분이 집필하신 책 입니다. 

위의 책에서 객체지향의 전반적인 개념과 가장 중요한 포인트들을 엘리스 이야기 등으로 직관적으로 설명해 주셨다면, 이번 책에서는 조금 더 구체적인 가이드를 제시해주는 책입니다.


와! 대단하다! 그런데 이걸 코드로는 어떻게 구현해야할까?


앞선 "객체지향의 사실과 오해" 라는 책을 다 읽고 내용을 정리해보며 떠올랐던 의문점 입니다. 

 

 단순히 대학에서만 배우고 달달달 외우다시피 학습하였던 객체지향에 대한 이론들, realWord로 부터 객체를 식별하고 어떻게 시스템을 설계해 나갈 것인가에 대한 고민들이 교육기관에서의 이론과 실제 실무와의 간극이 분명하게 존재한다는 사실을 깨닫게 됐지만, 여전히 마음 한구석에서는 이런 의문점이 찝찝하게 남아있었습니다.

 

해당 책에서는 무조건 특정 방식으로 설계하고 구현하라! 라는식의 강제를 절대로 하지 않습니다. 

 

 다만 좋은 방법은 분명히 존재하고, 지금 까지 응용 프로그램을 개발해왔던 사람들은 어떻게 문제해결을 해 왔는지를 실제 동작하는 코드로서 예시를 들어주어 객체지향에 대한 새로운 관점과 실무 + 이론에 기반한 학습으로 조금 더 깊은 수준의 학습을 할 수 있었습니다. 

 

 무엇보다 "객체지향의 사실과 오해" 라는 책을 읽으면서 느꼈었던 신선한 충격들이 이번 "Object" 책에서는 더 자주,

더 강렬하게 느껴져서 어려운 코드나 여러가지 개념들이 많이 등장했지만, 그런줄도 모르고 술술 재미있게 읽어 나갔습니다. (아직 취직을 하진 않았지만, 엄청난 실력의 사수님을 만나서 옆에서 가르침을 받는 느낌이 이런 느낌일까 싶었습니다.)

 

  • 메시지가 객체를 선택하게 하라.
  • 구현과 외부 인터페이스를 구분지어라.
  • 스스로 책임질 수 있는 객체를 만들어라

 

추상클래스 vs 인터페이스 상속의 차이

 

등등 응용 어플리케이션을 개발하며 부딪혀 고생할 수 있는 선택의 길목마다 마치 격언처럼 은은하게 방향을 제시해 주는 구절을 많이 보고 배웠습니다. 

 

정말 많은 내용들을 풀어 내야하지만, 책을 읽으면서 중요하다고 표시한 부분들을 여기 정리하려면 책을 그대로 옮겨 써야하는 정도이기 때문에. 간단한 감상평만 정리하게 되었습니다. 

 

앞으로 개발자의 길을 걸으면서 이 책은 언제봐도 질리지 않고 은은한 메시지를 전달해주는 한 편의 '인생영화'처럼 저에게 좋은 가르침을 주지 않을까 생각이 됩니다.

 

이런 책을 적어주신 저자님, 저에게 이 책을 읽어보라며 추천해주신분들께 정말 감사하다는 말씀을 드리고 싶습니다. 

 

반응형