후기
2022년 10월 중순부터 읽기 시작해 2달에 걸쳐서 읽으면서 내 생각과 견해를 많이 바꾼 책인 것 같다.
여태까지 코드를 짤 때 단순히 변수 이름, 가독성만 생각하고 짰던 것 같다. 책 초반부에서 절차지향 프로그래밍에 대해서 이야기가 나오는데 뜨끔했다. 부끄럽지만 전공자임에도 학교 다닐 때 객체 지향 프로그래밍은 그냥 클래스만드는 프로그래밍인 줄 알았다. 😓
하지만 실제로 객체지향 프로그래밍은 학교에서 배웠던 캡슐화, 상속, 추상화, 다형성, 응집도, 결합도, SOLID 원칙, GRASP 원칙 등의 피상적인 정의 뒤에 역할, 책임, 협력이 있었다는 것과 메소드라는 단어 뒤에 메시지가 객체 간에 유기적으로 오고 가는 것이라는 것을 배울 수 있었다.
어떤 백과사전에 정의된 것은 아니지만 좋은 설계는 변경하기 쉬운 설계이며, 항상 변경에 어떻게 하면 유리하게 '설계'할 수 있을지 코드 레벨에서 살펴볼 수 있어서 너무 유익한 책이었다. 아직 1회독이라 함부로 말할 순 없겠지만... 감히 '인생 개발 서적'이라고 해두고 싶다.
OOP가 항상 모든 것의 정답인지는 아직도 잘 모르겠다. 그걸 함부로 판단하기엔 내가 아직 모르는 것이 너무 많다.
그럼에도 불구하고, 개인적으로 그런 적이 거의 없었지만 앞으로 살면서 다시 여러 번 읽을 책이라고 생각한다.
고집스러웠던 나의 생각을 바꿀 수 있도록 지도해주신 책의 저자인 조영호님께 감사드리고 또 감사드린다.
Last updated