01.협력하는 객체들의 공동체
협력하는 사람들
"소프트웨어 개발자의 역할은 단순히 실세계를 소프트웨어 안으로 옮겨 담는 것이 아니라, 고객과 사용자를 만족시킬 수 있는 신세계를 창조하는 것이다."
객체지향의 가장 중요한 개념은
역할
,책임
,협력
협력
은 요청과 응답으로 구성역할
은 사람들이 다른 사람과 협력하는 과정 속에서 부여역할이라는 단어는 의미적으로
책임
이라는 개념을 내포
협력
을 위해 특정한역할
을 맡고 역할에 적합학책임
을 수행
역할, 책임, 협력
시스템은
역할
과책임
을 수행하는 객체로 분할되고, 시스템의 기능은 객체 간의 연쇄적인 요청과 응답의 흐름으로 구성된협력
으로 구현객체지향 설계라는 예술은 적절한 객체에게 적절한
책임
을 할당하는 것에서 시작된다.역할
은 관련성 높은 책임의 집합이다.
협력 속에 사는 객체
객체는 다른 객체와의 협력을 통해 기능을 구현
협력을 위해 객체는 두 덕목을 갖춰야 한다.
객체는 충분히
협력적
이어야 한다.객체가 충분히
자율적
이어야 한다.
흔히 객체를
상태(state)
와행동(behavior)
을 함께 지닌 실체라고 정의한다.객체가 협력에 참여하는 과정 속에서 스스로 판단하고 스스로 결정하는 자율적인 존재로 남기 위해서는 필요한
행동
과 그를 위한상태
를 함께 지녀야 한다.
객체는 협력을 위해 다른 객체에게
메시지
를 전송하고 다른 객체로부터메시지
를 수신한다.객체가 수신된 메시지를 처리하는 방법을
메서드(method)
라고 부른다.요청을 표현하는
메시지
와 요청을 처리하는메서드
는 분리되어 있다. (캡슐화
개념과 관)련
객체지향의 본질
객체지향의 개념?
시스템을 상호작용하는
자율적인 객체들의 공동체
로 바라보고 객체를 이용해 시스템을 분할하는 방법자율적인 객체란
상태
와행위
를 함께 지니며 스스로 자기 자신을 책임지는 객체를 의미객체는 시스템의 행위를 구현하기 위해 다른 객체와
협력
한다. 각 객체는 협력 내에서 정해진역할
을 수행하며 역할은 관련된책임
의 집합이다.객체는 다른 객체와 협력하기 위해 메시지를 전송하고,
메시지
를 수신한 객체는 메시지를 처리하는데 적합한메서드
를 자율적으로 선택한다.
객체지향은 객체를 지향하는 것이다. 객체의 역할, 책임, 협력에 집중하자.
Last updated