본문 바로가기
책 리뷰

[책] 객체지향의 오해와 진실 리뷰

by 하용권 2023. 5. 22.

현재 프로젝트를 진행하고 있는 팀원과 이 책으로 스터디를 진행했습니다.

서로 파트를 정해서 읽고 정리하고, 개인 생각을 말하면서 스터디했었습니다.

 

ebook으로 샀는데, 사진이 작아서 깨지네요.

저는 이 책에 대해 매우 만족합니다.

 

인상 깊었던 내용

객체의 핵심과 객체를 어떻게 설계할 것인지에 대해 설명을 해줍니다.

객체 간의 협력이 중요하고, 이를 위해 메시지가 필요하며 객체에 집중하기보다는 메시지에 집중하여 설계하라고 합니다. 객체에 집중하게 되면 객체의 데이터부터 만들게 되고, 이는 객체 내부의 데이터를 안 상태에서 메시지를 설계하기 때문에 캡슐화가 깨질 수 있습니다. 이를 데이터 주도 설계라고 합니다.

그리고 이렇게 함으로써 인터페이스로 분리할 수 있고 이는 TDD까지 이어질 수도 있습니다.

 

이 내용이 인상 깊었는데, 그 이유는 처음 인턴 하면서 클래스 설계할 때 위에서 말한 데이터 주도 설계를 했었습니다. 그러다보니 다른 객체는 이 객체를 완전히 알아야 수행할 수 있는 코드를 저도 모르게 짰었습니다. 코드 리뷰 하기 전까지는 이 부분이 왜 문제가 있는지도 몰랐습니다.

 

그리고 클래스에 집중하지 말고 객체의 협력에 집중하라고 합니다. 클래스는 단순한 도구라는 점을 이 책에서 강조를 합니다.

 

후기

개인적으로 저는 클린코드보다 이 책이 더 좋네요.

클린 코드는 어떻게 책임을 잘 나누고 네이밍을 하며 예외는 어떻게 할 것인지에 대해 말을 합니다. 그 과정에서 잘못된 코드를 보여주고 이를 이렇게 변경하면 된다 그런 식으로 설명을 해줍니다.

 

하지만 이 책은 설계하는 방법과 왜 그렇게 설계해야 되는지 설명을 해주니까 더 좋다고 느껴지네요.

(물론 주관적인 의견입니다.)

 

클린코드를 읽을 당시에 제 머리에 든 게 별로 없어서 이렇게 느낀 것일 수도 있습니다.

아니면 이 책 읽고 다시 클린코드를 보는 것도 좋을 것 같습니다. 오히려 이게 제일 좋은 것 같네요.

 

인턴하면서 한 분이 이 책을 추천해 주셨는데, 추천해 주신 이유가 있네요. (이 분도 클린코드보다는 이 책을....)

 

 

반응형