IT자료실/기술서적

오브젝트 - 기술서적 스터디 3단원-역할 책임 협력

Ramda 2023. 7. 4. 22:02

 

객체지향 페러다임의 핵심

  • 객체지향 패러다임의 핵심은 역할, 책임, 협력이다.
  • 협력 : 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용
  • 책임 : 협력에 참여하기 위해 수행하는 로직
  • 역할 : 협력에서 수행하는 책임들의 모임

협력

  • 어떤 객체가 다른객체에게 무엇인가를 요청하는 것
  • 메시지 전송을 통해 객체들의 요청했다면, 메시지를 수신한 객체는 메서드를 실행해 요청에 응답
  • 객체는 메시지 처리 방법을 스스로 선택한다
  • 객체가 자율적인 존재가 되려면 내부 구현을 캡슐화 하는 것
  • 객체의 행동을 결정하는 것은 객체가 참여하고 있는 협력
  • 협력은 객체가 필요한 이유와 객체가 수행하는 행동의 동기를 제공한다

책임

  • 협력에 참여하기 위해 객체가 수횅하는 행동
  • 객체에 의해 정의되는 응집도 있는 행위의 집합
  • 객체의 책임
    • 하는 것
      • 객체를 생성하거나 계산을 수행하는 등의 스스로 하는 것
      • 다른 객체의 행동을 시작시키는 것
      • 다른 객체의 활동을 제어하고 조절하는 것
    • 아는 것
      • 사적인 정보에 관한 것
      • 관련된 객체에 관해 아는 것
      • 자신이 유도하거나 계산할 수 있는 것에 아는 것
  • 책임은 객체지향 설계의 핵심
  • 앞서 배운 협력이 중요한 이유는 객체에게 할당하라 책임을 결정할 수 있는 문맥을 제공하기 때문

역할

  • 객체가 어떤 특정한 협력 안에서 수행하는 책임의 집합
  • 역할이 중요한 이유는 역할을 통해 유연하고 재사용 가능한 협력을 얻을 수 있기 때문

결론적으로 협력은 기능을 구현하기 위해 메시지를 주고받는 객체들의 상호작용, 책임은 객체가 다른 객체와 협력하기 위해 수행하는 행동, 역할은 대체 가능한 책임의 집합이다.
현재까지 객체의 개념에만 집중하여 협력, 책임, 역할이라는 개념에 대해 깊게 생각해본 단원이다
객체지향에 대한 논리적인 개념이 추가된 느낌이다.