Book Review/Development

[객체지향의 사실과 오해] 객체를 올바르게 바라보는 친절한 가이드

bbubbush 2020. 6. 13. 20:59

출처: 교보문고

Book review infomation
책 이름 객체지향의 사실과 오해
저자 조영호
가격 20,000 원
독서기간  2020. 06. 01 ~ 2020. 06. 19
로튼도마도 점수 8.9 / 10

처음 Java를 공부하게 되면 "객체지향 언어의 특징 = 자바의 특징"으로 배우게 됩니다. 흔히 '붕어빵과 붕어빵 틀' 이란 비유로 클래스와 인스턴스를 배우고, Getter/Setter를 캡슐화를 위해 사용한다고 배우지만 취업 면접을 통과하고 나면 이래 잊게 됩니다.

 

이 책은 우리가 개발하면서 잊고 있었던 객체지향의 특징을 철학적으로 설명해줍니다. 새로운 기술은 필히 이전 세대의 불편함을 극복하기 위해 등장하게 됩니다. 과거의 프로그래밍도 오늘날과 다르지 않게 끊임없이 변경되는 요구사항으로 고통스러웠습니다. 선배 개발자들이 문제를 해결하기 위해 다채로운 방법을 도입했었고, 그중 오늘날까지 살아남은 것이 바로 객체지향 프로그래밍입니다.

 

문제를 해결하기 위해 객체는 크게 속성과 행동을 갖게 됩니다. 예를 들어보겠습니다.


"오늘 저녁 8시까지 독후감을 쓰겠다."


화자가 '오늘 저녁'에 '독후감 쓰기'를 한다고 명시된 예제입니다. '무엇을 할지'는 객체지향에서는 [행동]이라고 표시하고, 행동을 수행하기 위해 필요한 데이터를 [속성]이라고 합니다. 단순한 개념이지만 객체지향의 시작이 되는 중요한 개념이라고 책에서 언급하며, 행동과 속성을 분리하여 객체를 바라보는 연습을 하길 권합니다.

 

개인적으로는 이 책을 개발에 입문하면서 한 번, 실무에서 3년이 정도가 지난 시점에 또 한 번 읽어보는 것이 좋다고 생각합니다. 처음에는 내가 무엇을 모르는지 모르기 때문에 길잡이가 되어 줄 것이고, 두 번째 읽는 시점에는 내가 잊고 지내거나 혹은 실무에 도움이 되지 않는다고 애써 외면했던 그 무엇에 대해 다시 생각하게 도와줄 것입니다.

 

세상의 모든 것에는 이유가 있습니다. 중세에는 그 이유를 신을 통해 설명했고, 오늘날에는 과학을 기반으로 하는 이성으로 설명을 합니다. 우리가 객체지향을 이해하지 못할 때는 대게 필요한 이유를 모르기 때문입니다. 과거를 통해 현재를 이해하는 것이 비단 역사를 이해하는데만 좋은 것이 아님을 이 책을 통해 다시 느끼실 수 있을 것입니다.