최근 [객체지향의 사실과 오해] 도서를 읽고 나름대로 내용 정리를 하며 포스팅을 하려 합니다.
https://book.naver.com/bookdb/book_detail.nhn?bid=9145968
객체지향의 사실과 오해
객체지향에 대한 선입견을 버려라!『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지
book.naver.com
1. 객체란?
역할, 책임, 협력의 관점으로 볼 수 있음
-> 예로 카페 서비스를 3개의 객체로 들 수 있습니다.
1) 손님 -> 주문 하기(역할/책임)
2) 캐시어 -> 주문 전달(역할/책임)
3) 바리스타 -> 커피 제조(역할/책임)
각 객체는 역할이 주어지며, 그에 대한 책임은 내재되어 있고
또한 객체들 사이에는 서로에게 협력하며 요청하는 '메시지'와 실행하는 '메소드'가 있습니다.
- 요청(Request) : 손님(주문) --- 요청(메시지) ---> 캐시어(주문확인/제조요청) --- 요청(메시지) ---> 바리스타(커피제조)
- 응답(Response) : 손님(주문) <---응답(메소드)--- 캐시어(주문확인) <---응답(메소드)--- 바리스타(커피제조 완료)
* 메시지와 메소드의 분리는 객체의 협력에 참여하는 객체들 간의 자율성을 증진시킴
2. 객체지향이란?
시스템을 상호작용하는 자율적인 객체들의 공동체로 바라보고 객체를 이용해 시스템을 분할하는 방법
* 자율적인 객체란 상태와 행위를 함께 지니며 스스로 자기 자신을 책임지는 객체를 의미
3. 핵심은
어떠한 클래스가 중요한 것이 아니라, 어떤 객체들이 메시지를 주고 받으며 협력하는 것이다.
클래스는 객체들의 협력 관계를 코드로 옮기는 도구에 불과하다.
즉 객체지향의 핵심은 클래스가 아니고, 어떤 역할과 책임을 가진 객체들과 견고한 협력 관계를 구축하는 것이다.
'개발 관련 > 객체 지향' 카테고리의 다른 글
객체 지향 설계의 5가지 원칙(SOLID) (0) | 2021.10.02 |
---|