비전공자라서 객체지향에 대한 개념이 흐릿할 때 읽은 책이다. 아무리 객체지향이니 절차지향이니 함수형이니 책을 읽어도 '한글'로는 이해가 되었으나, 이게 코드로 어떻게 해야 할지가 막막했다.
바로 그 궁금증을 해결하는데 도움을 받은 책이다.
알고 있는 프로그래밍 언어가 JAVA혹은 C++이라면 더욱 읽기가 편할 것이다. 또한 UML을 사용하는 방법도 같이 소개가 되어있어서 객체지향과 관련된 내용을 다방면으로 습득할 수 있다.
내용은 객체지향의 핵심 개념인 클래스, 속성, 연산, 가시성, 관계, 상속, 다형성 등의 내용이 언급된다. 전부 다른 개념같아 보이지만 각각 서로의 장단점을 보완하는 역할도 있으면서, 책의 앞부분부터 차례대로 개념을 쌓아가는 느낌을 받았다.
전반적으로 단순히 개념만을 알려주는 것이 아니라 개념이 나오면 C++과 JAVA코드가 동시에 나온다. 두 개 언어의 코드를 비교해 볼 수도 있고, 개념이 코드로 어떻게 '구현'되는지를 직접 볼 수 있다.
바로 이 부분이 이 책의 강점이다. 물론 객체지향에 대해 설명한 책들은 무수히 많은데, 대부분 코드가 길어서 정작 해당 개념이 어떤 것인지를 파악하는데 어려움을 겪곤 했었는데 이 책은 개념 뒤에 나오는 코드가 굉장히 짤막짤막 하다. 즉, 해당 개념에 대한 내용만 구현이 되어 있어서 한글로 이해하고 코드가 어떤 '꼴'인지 파악하기 좋다.
이 책 덕분에 적어도 개념 하나는 확실하게 잡았다고 생각한다.
클래스 구조 뿐 아니라 '설계'도 어떻게 하는지가 나와있다는 것이 또 하나의 장점이다.
실제 개발과정에서 요구사항명세서나 관련 도메인 문서들을 토대로 객체로 구현할 수 있는 것들을 구별하는 방법 부터 점진적으로 객체를 구현해 내는 방법이 나와있다.
'독서 > 서평' 카테고리의 다른 글
[쓰면서 익히는 알고리즘과 자료구조] 나만의 알고리즘 디비 만들기 (0) | 2022.02.21 |
---|---|
[파이썬 클린코드] 쉽다고 알려진 파이썬도 막 사용하면 안 된다. (0) | 2022.02.18 |
[실무로 배우는 빅데이터기술] 교양서가 아닌 직접하는 빅데이터 처리 (0) | 2022.01.17 |
[이것이 코딩테스트다] 알고리즘 풀이 초보를 위한 가교 (0) | 2022.01.13 |
[지위경쟁사회] 우리는 왜 경쟁을 하고 있는가 (0) | 2022.01.12 |