본문 바로가기

TheEssenceOfOOP2

[책] 객체지향의 사실과 오해 - 2 객체지향의 사실과 오해를 읽고 정리한 글입니다. 1, 2장에서 개괄적인 틀을 설명해주었다면, 3,4,5은 좀 더 디테일하게 객체간의 협력, 그리고 협력을 위한 준비물들(역할, 책임, 메시지)을 설명해준다. 역할, 책임, 메시지에 대한 설명을 통해 OOP의 특징인 다형성, 캡슐화를 더 쉽게 이해할 수 있었다. 이러한 특징을 잘 활용한다면 확장성, 재사용성이 좋은 시스템 설계가 가능함을 알려주며, 디자인 패턴, TDD를 활용하면 왜 더 좋은지를 알려준다. OOP에 대해 알아야한다는 의무감에 주먹구구식으로 머릿 속에 우겨넣었던 과거와 다르게, 왜 설계에는 확장성과 재사용성이 중요하며 OOP가 사용되는지 자연스럽게 이해할 수 있어서 유독 재미있게 읽었던 장이었다. 목표 개념(concept)과 타입에 대해 이해하.. 2021. 10. 10.
[책] 객체지향의 사실과 오해 - 1 차근차근 비유법을 써서 설명해주는 책이었다. 객체지향의 개념에 대해 좀 더 직관적으로 이해할 수 있는 계기가 되었다. 중요하다고 생각되는 부분들을 요약했는데, 두고 두고 객체 지향에 대한 개념이 흔들릴 때마다 봐야겠다. 목표 코드를 담는 클래스의 관점에서 메시지를 주고받는 객체의 관점으로 사고 전환 "행동이 상태를 결정한다" 를 이해하자. 1. 협력하는 객체들의 공동체 기능을 구현하기 위해 객체들은 협력한다. 책에서는 협력의 과정을 "커피를 주문하는 과정"을 예시로 아주 상세하게 풀어준다. "커피를 주문하는 과정"은 대략 이러하다. 손님이 캐시어에게 커피를 주문한다. 캐시어가 바리스타에게 커피 제조를 요청한다. 바리스타는 커피를 완성하여 캐시어에게 건내준다. 캐시어는 커피를 완성하여 손님에게 준다. 역할.. 2021. 10. 9.