포도가게의 개발일지

Object[3] 본문

Tech

Object[3]

grape.store 2022. 4. 9. 22:04
반응형

객체지향에서 제일 중요한것은 역할 책임 협력이다.

객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라 부른다.

객체가 협력에 참여하기 위해 수행하는 로직을 책임이라 부른다.

객체들이 협력 안에서 수행하는 책임들이 모여 객체가 수행하는 역할을 구성한다.

 

객체지향 시스템은 자율적인 객체들의 공통체다.!! 객체는 고립된 존재가 아니라 기능이라는 더 큰목표를 달성하기 위한 사회적인 집단이다!!

 

책임주도설계

1. 시스템이 사용자에게 제공해야하는 기능인 시스템 책임을 파악한다.

2. 시스템 책임을 더 작은 책임으로 분류한다.

3. 분할된 책임을 수행할 수 있는 적절한 객체 또는 역할을 찾아 책임을 할당한다.

4. 객체가 책임을 수행하는 도중 다른 객체의 도움이 필요한 경우 이를 책임질 적절한 객체 또는 역할을 찾는다.

5. 해당 객체 또는 역할에게 책임을 할당함으로써 두 객체가 협력하게 된다.

 

행동이 바로 객체의 책임이 된다. 동일한 책임을 수행하는 역할을 기반으로 두개의 협력을 하나로 통합할수 있다는 것이다..

협력의 관점에서 추상클래스와 인터페이스는 구체 클래스들이 따라야 하는 책임의 집합을 서술한 것이다. 추상클래스는 책임의 일부를 구현해 놓은 것이고 인터페이스는 일체의 구현 없이 책임의 집합만을 나열해 놓았다는 차이가 있지만 협력의 괁머에서는 둘 모두 역할을 정의할 수 있는 구현 방법이라는 공통점을 공유한다. 

 

추상화를 적절하게 사용하면 불필요한 세부사항을 생략하고 핵심적인 개념을 강조할 수 있다.

- 객체는 다양한 역할을 가질 수 있다. 객체는 협력에 참여할 때 협력 안에서 하나의 역할로 보여진다. 객체가 다른 협력에 참여할때는 다른 역할로 보여진다.

'Tech' 카테고리의 다른 글

Object[4]  (0) 2022.04.16
[Tech] TDD?  (0) 2022.04.12
Object[2]  (0) 2022.04.04
Object[1]  (0) 2022.03.29
Jest  (0) 2022.02.20
Comments