<객체지향의 사실과 오해> 4.역할, 책임, 협력
·
🖥️ 컴퓨터 일반/🎻 객체지향
1. 협력협력은 요청으로부터 시작되며 다수의 요청과 응답으로 구성된다 2. 책임책임의 분류1️⃣ 객체가 무엇을 알고 있는가 -> 아는 것(knowing)- 개인적인 정보에 관해 아는 것- 관련된 객체에 관해 아는 것- 자신이 유도하거나 계산할 수 있는 것에 관해 아는 것 2️⃣ 객체가 무엇을 할 수 있는가 -> 하는 것(doing)- 객체를 생성하거나 계산을 하는 등의 스스로 하는 것- 다른 객체의 행동을 시작시키는 것- 다른 객체의 활동을 제어하고 조절하는 것 📍 책임과 메시지메시지 전송(message-send)- 객체가 다른 객체에게 주어진 책임을 수행하도록 요청을 보내는 것- 협력 안에서 객체는 다른 객체로부터 요청이 전송됐을 경우에만 자신에게 주어진 책임을 수행한다- 한 객체가 다른 객체에게 전..
<객체지향의 사실과 오해> 3.타입과 추상화
·
🖥️ 컴퓨터 일반/🎻 객체지향
1. 추상화를 통한 복잡성 극복📍 추상화의 목적- 단순화- 복잡도를 다루기 위해 추상화한다📍 추상화의 정의- 어떤 양상, 세부 사항, 구조를 좀더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법📍 추상화 방법 2가지1. 구체적인 사물들 간의 공통점은 취하고 차이점은 버리는 일반화2. 중요한 부분을 강조하기 위해 불필요한 세부사항을 제거- 객체지향에서는 객체라는 추상화를 통해 현실의 복잡성을 극복한다 2. 객체지향과 추상화📍 앨리스의 추상화 예시- 하트 여왕, 스페이드 정원사, 클로버 병사 등을 모두 트럼프 객체로 단순화(토끼는 트럼프로 추상화 불가)- 트럼프로 단순화할 수 있는 이유는, 위의 모든 인물들이 트럼프의 일반적인 외형과 행동방식을 지녔기..
<객체지향의 사실과 오해> 2.이상한 나라의 객체
·
🖥️ 컴퓨터 일반/🎻 객체지향
1. 객체지향과 인지 능력📍 객체지향이 직관적인 이유는 객체지향이 인간의 기본적인 인지 능력에 기반을 두고 있기 때문- 인간은 세상을 자율적이고 독립적인 객체들로 분해할 수 있는 기본적인 인지 능력을 갖고 있다- 그리고 객체지향 개념도 이 인간의 인지 능력에 기반한다- 객체: 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것- 객체지향 패러다임도 현실 세계와 마찬가지로, 인간(개발자)이 인지할 수 있는 다양한 소프트웨어 객체들이 모여 이루어져 있다는 믿음에서 출발- 하지만, 객체지향의 목적이 현실 세계를 모방하는 것은 아니다 (현실 세계의 객체와 소프트웨어 세계의 객체는 전혀 다름)예)- (현실 세계)사람이 직접 주문 금액을 계산- (객체지향) 주문 객체가 자신의 금..
<객체지향의 사실과 오해> 1.협력하는 객체들의 공동체
·
🖥️ 컴퓨터 일반/🎻 객체지향
1. 협력하는 사람들📍 커피 공화국의 아침역할, 책임, 협력이 모든 곳에 존재예) 카페에서- 캐시어: 손님에게 커피가 준비됐음을 알리는 역할- 손님: 커피를 받아서 돌아가는 역할 📍 요청과 응답으로 구성된 협력요청- 손님 -> 캐시어: 커피 주문 요청- 캐시어 -> 바리스타: 커피 제조 요청 응답- 바리스타 -> 캐시어: 커피 제조 완료 응답- 캐시어 -> 손님: 커피 준비 완료 응답  📍 역할과 책임역할: 어떤 협력에 참여하는 특정한 사람이 협력 안에서 차지하는 책임이나 임무예)- 손님: 커피를 주문하는 임무- 캐시어: 손님으로부터 주문을 받는 임무- 바리스타: 주문된 커피를 제조할 책임 역할은 책임을 내포- 예) 범죄자를 검거할 책임을 거부하면 경찰이 아니다 역할의 특징 4가지1) 여러 사람이 ..