객체지향의 사실과 오해를 읽고
-
Upload
daniel-lim -
Category
Technology
-
view
130 -
download
2
Transcript of 객체지향의 사실과 오해를 읽고
![Page 1: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/1.jpg)
객체에 대한 이해
객체지향의 사실과 오해 를 읽고
![Page 2: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/2.jpg)
목차
1. 협력2. 역할3. 책임4. 객체지향 설계 기법
![Page 3: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/3.jpg)
협력
협력 은 한 사람이 다른 사람에게 도움을 요청 할 때 시작된다.
3
![Page 4: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/4.jpg)
협력
커피 주문이라는 협력 에 참여하는 모든 사람들은 정확하게 주문되고 주문된 커피가손님에게 정확하게 전달될 수 있도록 맡은바 역활 과 책임 을 다한다.
요청
손님 ‐>(주문) 케시어 ‐>(커피 제조 요청) 바리스타
응답
손님 (커피 완성)<‐ 케시어 (커피 완성)<‐ 바리스타
4
![Page 5: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/5.jpg)
협력
결과적으로 협력은 다수의 요청과 응답으로 구성되며 전체적으로 협력은 다수의 연쇄적인 요청과 응답의 흐름으로 구성된다.
5
![Page 6: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/6.jpg)
역할
사람들은 다른 사람과 협력 하는 과정 속에서 특정한 역할(role) 을 부여 받는다.
6
![Page 7: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/7.jpg)
역할
케페테리아에서 손님이 주문한 커피를 제조하기 위해 캐시어와 바리스타가 협력 하는 과정속에는 손님 , 캐시어 , 바리스타 라는 역할이 존재한다.역할은 어떤 협력에 참여하는 특정한 사람이 협력 안에서 차지 하는 책임 이나 임무 를 의미한다.
손님 : 커피 주문 책임 캐시어 : 손님으로 부터 주문 받는 책임 바리스타 : 주문된 커피를 제조하는 책임
7
![Page 8: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/8.jpg)
책임
역할이란 단어는 의미적으로 책임이라는 개념을 내포 한다.
8
![Page 9: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/9.jpg)
책임
사람들이 협력을 위해 특정한 역할을 맡고 역할에 적합한 책임을 수행한다는 사실은 몇가지 중요한 개념을 제시한다.
여러 사람이 동일한 역할을 수행 할 수 있다.역할은 대체 가능성을 의미한다.책임을 수행하는 방법은 자율적으로 선택 할 수 있다.한 사람이 동시에 여려 역할을 수행 할 수 있다.
9
![Page 10: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/10.jpg)
역할, 책임, 협력
사람이라는 단어를 객체 로, 에이전트 요청을 메시지 로,
에이전트가 요청을 처리 하는 방법을 메소드 로 바꾸면 대부분의 설명을객체지향이라는 문맥으로 옮겨 올 수 있다.
10
![Page 11: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/11.jpg)
객체지향의 본질객체지향이란 시스템을 상호작용하는 자율적인 객체들의 공동체 로 바라보고 객체를 이용해 시스템을 분할 하는 방법이다.
자율적인 객체란 상태 와 행위 를 함께 지니며 스스로 자기 자신을 책임지는 객체를 의미한다.
객체는 시스템의 행위를 구현하기 위해 다른 객체와 협력 한다. 각 객체는 협력 내에서정해진 역할 을 수행하며 역할은 관련된 책임 의 집합인다.
객체는 다른 객체와 협력하기 위해 메시지 를 전송하고, 메시지를 수신한 객체는 메시지를 처리하는데 적합한 메서드 를 자율적으로 선택한다.
11
![Page 12: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/12.jpg)
객체지향 설계 기법
책임‒주도 설계
(Responsibility‒Driven Design)협력에 필요한 책임들을 식별하고 적합한 객체에게 책임을 할당하는 방식이다.
12
![Page 13: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/13.jpg)
객체지향 설계 기법
디자인 패턴
(Design Pattern)전문가들이 반복적으로 사용해는 해결 방법을 정의 놓은 설계 템플릿의 모음이다.
13
![Page 14: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/14.jpg)
객체지향 설계 기법
테스트‒주도 개발
(Test‒Driven Development)테스트를 먼저 개발하고 테스트를 통과하는 구체적인 코드를 추가하면서 애플리케이션을 완성해가는 방식을 따른다.
14
![Page 15: 객체지향의 사실과 오해를 읽고](https://reader033.fdocument.pub/reader033/viewer/2022051709/587d50ab1a28abee158b47f9/html5/thumbnails/15.jpg)
추천 도서
한글서적
객체지향의 사실과 오해 ‒ 조영호 추천
객체지향과 디자인 패턴 ‒ 최범균
UML 실전에서는 이것만 쓴다. ‒ 로버트 C. 마틴
영문서적
Applying UML and Patterns ‒ Craig Laman
Agile Software Development ‒ 로버트 C. 마틴15