https://product.kyobobook.co.kr/detail/S000001628109
객체지향의 사실과 오해 | 조영호 - 교보문고
객체지향의 사실과 오해 | 객체지향에 대한 선입견을 버려라!『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝
product.kyobobook.co.kr
책 제목 : 객체지향의 사실과 오해 : 역할, 책임, 협력 관점에서 본 객체지향
추천 :
- 초급 개발자에게 3.5/5
- 중급 개발자에게 4.0/5
장점 :
- 객체지향 프로그래밍언어를 쓰면서도 잊고 있던, 객체지향이란 무엇인가 라는 원론적인 질문에 대한 숙고를 하게 한다.
- 객체지향 언어를 조금 더 객체지향스럽게 쓸 수 있는 방향을 제시해 준다.
- 코드 없이 객체지향에 대해 아주 길고 자세히 설명해 준다.
단점 :
- 코드가 없다. 오랜만에 코드가 없는 개발 서적이라서 그런지, 어려운 내용이라 그런지 생각보다 읽는 속도가 나지 않는다.
군복학 후 첫 학기, 인문학과는 거리가 먼 내가 패기 넘치게 '한국의 젊은 시인들'이라는 교양과목을 패기 넘치게 수강한 적이 있다. 당시 수업의 내용은 기억이 잘 나지 않지만, 강의 교재로 쓰였던 『주름과 기억』이라는 책은 기억에 남는다. 사이사이 어려운 단어들이 있었지만 분명 한글로 쓰여있는 책이었음에도 이를 읽고 이해하는데 정말 오랜 시간이 걸렸다. 아니, 제대로 이해하지 못했으니 성적이 안 좋게 나왔고 강의 내용이 기억이 나지 않는 것일 수도 있겠다.
이번에 읽은 『 객체지향의 사실과 오해 』를 읽으면서 그 시절이 떠올랐다. 분명히 한글로 쓰여있고, 어려운 단어가 있는 것도 아니고 이를 친절히 설명해 주고 있음에도 불구하고 책을 읽는 속도가 나지 않았다. 문장을 이해하기 어렵게 쓰신다고 생각했다. 참 글을 못 쓰신다고 감히 생각했다.
과연 책의 문제, 저자의 글솜씨가 문제였을까? 지금에 와서는 아니라고 생각한다. 최소한, 내가 그것을 심사할 위치는 아니라고 확신한다. 인문학에 대해 문외한 수준인 내가 대학시절 『주름과 기억』을 읽는 것이 어려웠던 것은 당연히 내가 어려워하는 분야기 때문이다. 『 객체지향의 사실과 오해 』가 읽는 속도가 나지 않았던 것은 객체지향에 대한 나의 생각을 정리할 시간이 필요했기 때문이다. 구체적으로는 다음과 같은 시간들이 필요했다.
먼저 이 책에 대해 한 가지 이야기를 하자면, 이 책은 객체 지향에 대해 매우 친절하게, 쉬운 말과 예시로 객체 지향을 설명하고 있다. 다만 책에는 코드 예시가 (거의) 없기에 책에서 언급하는 개념들과 예시들을 내 머릿속 나름의 코드로 예시를 만들면서 시간을 많이 보낸 것 같다. 이것이 내가 책을 읽으며 많은 시간이 필요했던 첫째 이유다. 하지만 코드 예시가 없어서 아쉽다기보다, 나만의 예시로 책에서 설명하는 개념들을 더 깊이 채워나갈 수 있던 것 같다.
두 번째 이유로는, 이 책에서는 객체지향의 단순한 개념 설명을 통해 설계 원칙이나 패턴들 설명하는 것을 넘어, 좀 더 본질적인 의미와 목적에 대해 이야기하고 있다. 책의 부제에서 말하듯이 '역할', '책임', '협력'이라는 핵심 개념들을 설명하고 이것이 기반이 되어 객체지향 프로래밍을 다루다 보니, 자연스럽게 객체지향에서 DDD, TDD의 경계까지 그 영역이 확대됨을 느낀다. 다소 넓은 범위의 개념들을 다루다 보니 생각할 거리는 많아지고 페이지가 넘어가는 속도는 느려지기 마련이다.
무엇인가를 아는 것과, 설명할 수 있는 것은 당연히 다르다. 무엇인가를 설명할 수 있는 것과, 잘 풀어서 설명할 수 있는 것 또한 당연히 다르다. 이 책에서는 내게 객체지향의 철학에 대해 매우 길게 풀어서 설명해 주었다. 그리고 그 친절한 설명들은 내게 생각을 정리할 시간들을 항상 준 듯하다. 마지막 페이지를 읽었을 때 다시 한번 이 책이 잘 읽히는 책인가에 대해 생각해 보았다. 여전히 잘 모르겠다. 다만 이 책은 내가 잠시 코드 타이핑 하는 것을 멈추고, 아키텍처 설계 하는 것을 멈추고 고민을 하게 해주는 유익한 책이었다고 생각한다.
+ 아는 만큼 보인다는 말이 있는데, 『클린 코드』처럼, 『어린 왕자』처럼, 이후에 다시 읽었을 때 어떤 느낌일지 궁금한 책이기도 하다
추천대상
- 객체지향이 무엇인지 구체적으로, 본질적인 의미와 목절을 이해하고 싶은 개발자
- 객체지향에 대해서 남에게 깊게 설명하고 싶은 개발자
- 잠시 코드가 없는 개발 서적을 읽고 싶은 개발자
- DDD나 관련 아키텍처 이전에 그것들의 근본이 되는 OOP에 대한 고민을 하고 있는 개발자
'리뷰' 카테고리의 다른 글
[책 리뷰]아주 작은 습관의 힘 - 자기계발서를 읽어야 하는 이유 (0) | 2023.07.25 |
---|---|
[책 리뷰]도메인 주도 개발 시작하기: DDD 핵심 개념 정리부터 구현까지 (0) | 2023.06.12 |