만약 누군가 OOP를 처음 공부하기 시작한다면, 이 책을 먼저 추천할것 같다. 정말 기본적이면서도 중요한 OOP의 핵심적인 면을 잘 집어냈다고 생각한다. 현업에서 이미 OOP언어를 많이 사용하는 개발자라면, 한번쯤 가볍게 읽어볼만한 책이다. 분량도 길지 않고, 가격도 저렴하다.

더 나은 코드와 더 나은 설계를 위해 끊임없이 고민하다 보면, 어느 시점에 OOP에 담긴 개발 철학을 스스로 깨닫게 되는 시점이 오는것 같다. 나는 현업에서 매일같이 C++ 코드를 작성하지만, 스스로 OOP에 대한 미묘한 감정(?)이 생기고 난 후 후에 코드를 바라보는 시야가 어딘가 달라졌음을 느꼈다. 이후 그러한 미묘한 감정들을 작성중인 C++ 코드베이스에 녹여내던 와중, 우연히 이 책의 존재를 알게 되었다.

OOP에 대한 통찰을 보다 명료하게 글로써 정리한 책을 읽고 나니 머릿속으로 객체지향에 대한 수많은 생각들이 정리되는 듯한 느낌을 받았다. 좀만 더 빨리 알았다면 보다 더 나은 코드를 작성할 수 있지 않았을까 싶기도 했다.

물론 OOP에 대한 아주 획기적인 내용이라던가 그런건 없다(아쉽게도…). 이 책은 OOP에 대한 기본적인 부분을 다룬다. 하지만 가장 기본적이면서도, 많은 사람들이 간과하는 부분이 아닐까 싶기도 해서 더욱 추천할만 하다고 본다.

OOP의 개념을 설명하기 위해서 나오는, 스토리텔링이 가미된 특정 상황에 대한 묘사가 다소 장황하게 느껴질 수도 있다. 하지만 책의 분량 자체가 길지 않고(약 250 페이지), 이러한 요소들 덕분에 초심자 입장에서는 더욱 친근하게 OOP에 접근할 수 있다고 생각한다.

구매링크: 객체지향의 사실과 오해(교보문고)

(리뷰는 처음인데… 생각보다 힘들다.)