[IT 도서 리뷰] 객체지향의 사실과 오해 (저자: 조영호)

HJinSung의 코딩 블로그·2023년 1월 16일
1
post-thumbnail

객체지향의 사실과 오해 (저자: 조영호)

이 책을 읽게된 동기

  평소 Node.js에서 웹프레임워크를 이용하여 3-Layer-Architecture안에서 함수형 패러다임만 사용하여 프로그래밍하고 있었다. 하지만 어느 순간부터 나는 아키텍처에 갈증을 느끼고 있었다. 그때 눈에 들어왔던것은 Java진영에서 사용하고 있던 Spring이였다. 견고하다고 소문난 Spring에 대해서 공부하다보니 객체지향 패러다임에 공부하고 싶어졌고 그래서 이 책을 읽게 됐다.

추천

 지금까지 객체지향의 오해를 푸는 책이다. 나는 객체 지향이라고하면 '클래스', '추상 클래스', '인터페이스', '상속', '캡슐화', '오버라이딩', '오버로딩'에 대한 프로그래밍적 지식을 떠올렸고 이것들을 알고 있으면 객체지향에 대해서 알고 있는것이라고 생각했다. 하지만 이 책을 읽고 있으면 이 책은 내게 이렇게 말해주는거 같다. "객체 지향의 본질은 그게 아니야 바보야! 객체 지향의 본질은 협력, 메세지, 책임, 역할 이라고 바보야!!"
 위와 같이 객체 지향에 대해서 오해가 있는 사람은 이책을 추천한다. 다만 이 책은 객체지향의 개론서, 입문서 이기때문에 이 책을 통해서 바로 객체 지향 코드를 작성할 수 있게 만들어주지는 않는다. 이 책을 읽고 좀 더 깊은 객체 지향의 설계 방법과 코드 작성법을 알고 싶다면 "오브젝트"라는 책을 추천한다.

책을 통해서 알게된 것

 기존에는 설계를하고 프로그래밍을 할때는 데이터 중심의 함수형 프로그램밍을 주로 했었다. 객체들 간에 협력 보다는 필요한 데이터들이 무엇인지 파악해서 DB 테이블로 만들고 lodash, fx.js와 같은 함수형 라이브러리를 이용해서 데이터를 조작하며 리펙토링 원칙에 따라서 코드를 수정하고 함수를 잘게 쪼게며 API를 만들었다.
 이렇게 기존에 데이터 중심적으로 사고하며 설계하던 방식에서 객체들을 먼저 생각하고 객체들의 협력과 메세지를 먼저 생각해보는 설계 방식을 배웠다. 또한 객체에 책임에 대해서 더 생각하고 배우며 자율적인 객체는 어떻게 만들 수 있는지에 대해서 배웠다.

책에 대해서 아쉬운것

  이 책은 같은 말은 반복적으로 말한다. 물론 저자의 말하는 스타일이고 중요한 것에 대해서는 강조하며 책 내용에 대해서 이해를 돕는다고 할 순 있겠지만... 떄로는 너무 반복되는 말로 졸릴때가 있었다. 그래도 이 책은 정말 좋은 책이다.

0개의 댓글