객체지향
oop
객체지향의 사실과 오해
- 아 책 진짜 재밌다. 누가 어렵다고 해서 사두고 한동안 안읽었었는데 왜 그랬징. 나중에 경험이 쌓이고 다시 읽어도 보이는 내용이 달라서 또 재밌을 거 같다.
- 객체는
협력
,책임
,역할
로 이루어져있다. - [확인필요] 실생활처럼 하나의 객체는 여러 역할을 할 수 있던가..?
- 기능을 나누어 책임으로 이루어진 객체가 된다. 객체간 메시지 요청-응답하면서 객체는 서로 협력하며 이벤트를 수행한다. 각 객체는 책임이 있으며 이 책임은 메소드로 구현된다. 각 객체가 맡은 책임을 어떻게 구현할지는 각 객체에게 맡긴다. 내부구현을 어떻게 하는지는 객체가 알아서 한다.
- think! 당신이 카페에 가서 커피를 주문했다. 커피 주문이라는 기능에는 주문자(당신)가 커피주문을 하면, 캐셔가 주문을 받아서 바리스타에게 주문을 전달하고, 바리스타는 커피를 만들어 캐셔에게 커피를 전달한다. 캐셔는 바리스타에게서 받은 커피를 주문자에게 전달한다.
- so Coooool! 이걸 읽고나니 '객체는 클래스,상속'이라는 설명이 뭔가 된장없는 된장찌개같이 느껴진다. 본질이 빠져있는 설명으로 느껴진다. 클린코드 강의를 들을때, 객체간의 메시지를 주고받는 부분 코드리뷰를 많이 받았었다. 뭔가 중요한 것 같았는데 명확하지는 않았는데 객체간 협력때문에 그랬던거구나!