본문 바로가기
Memo/책 읽기

[책 후기] 객체지향의 사실과 오해

by 연로그 2021. 4. 21.
반응형

책 게시판 만든 기념 첫 글을 작성한다.

정작 책은 1월에 읽었던거지만... 수업 교재 외에 자의로 개발 서적을 읽은건 처음이라 기념으로 작성!

 

http://book.naver.com/bookdb/book_detail.nhn?bid=9145968

 

객체지향의 사실과 오해

객체지향에 대한 선입견을 버려라!『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지

book.naver.com

 

책을 읽으며 정리한 글

yeonyeon.tistory.com/22

 

역할, 책임, 협력 관점으로 객체지향 살펴보기

객체 : 상태, 행동, 식별자를 지닌 실체 - 상태: 특정 시점에 객체가 가진 정보의 집합. 객체의 구조적 특징을 표현. - 행동: 외부의 요청에 응답하기 위해 동작하고 반응하는 활동. - 코딩을 할

yeonyeon.tistory.com

 

 이 책은 우아한 형제들에서 근무하시는 김영한님 강의에서 추천받고 읽게 된 책이다.

강의에서 '역할, 책임, 협력'에 관해서 강조를 많이 하셨는데 감이 잡힐랑말랑 하다가 책을 읽고 이해했다.

 

 '행동이 상태를 결정한다'

사실 무의식적으로 계속 행동에 초점을 맞춰 프로젝트를 구성했던 것 같기는 하다.

주제를 잡은 후에 구현하고 싶은 기능들을 우선적으로 선정하다보니 자연스레 상태보단 행동이 먼저였다.

 

하지만 '객체의 자율적인 책임'을 잘 지키진 못했다.

대학교 2학년 때쯤 만든 프로젝트의 코드를 재사용할 수 있느냐, 라고 물어본다면 강력하게 고개를 저을 것이다...

내가 구현한 방식으로는 한 책임에 대해 그 객체에서만 사용하다시피 했다.

물론 복잡한 수준의 코드를 구성하지 않아서 그런 것일수도 있지만 책임에 대해 이해도 없이 코드를 구성해서 그렇게 된 것 같다.

예를 들어 자주 사용하는 메소드에 대해서는 한 파일로 묶어서 import 시켜서 사용할 수 있을텐데도 불구하고,

클래스마다 메소드를 선언하던 식의 주먹구구 코드로 존재했다.

 

 난 아직 경력 1년도 못채운 신입이기도 하고...

사실 설계를 할 일은 없고 기존 코드의 로직을 분석하는 일이 더 많다보니 아직 좋은 설계에 대한 감은 못잡겠다.

나중에 경험을 쌓고 이 책을 다시 읽게 되면 다른 시선으로 볼 수 있을까? 아직은 잘 모르겠다.

 

 이제 막 Java를 막 시작한 입문자들, 객체가 뭐였지? 수준의 기초를 잘 모르는 사람들에게는 비추천한다.

객체가 뭔지, 캡슐화가 뭔지 대충은 이해하고 '최소한의' 전공 지식은 있는 상태에서 보는 것이 읽기 수월할 것 같다.

코드 없이 그림과 말로 설명을 해주긴 하는데... 예시가 난해해서 오히려 더 헷갈렸다 ㅠㅠ

꼭 이상한 나라의 앨리스로 설명을 해야했나 싶은.... 솔직한 마음...

 

 이 글을 쓰면서 다른 사람의 책 후기나 정리글들을 봤는데 정리를 참 잘해놨다.

난해하다고 느껴지던 예시를 다르게 표현하거나 새로운 예시를 만들고..

코드로 구현한 사람들도 있더라.

하지만 저런 후기글들만 보는거보단 책을 직접 한번 읽어보는걸 추천한다.

원본을 알고 읽는거랑 모르고 읽는거랑은 확연히 다를 것이므로...

반응형