개요협력은 일상 생활에서도 중요한 개념으로 요청 - 응답의 연쇄적인 흐름으로 이루어집니다.요청과 응답의 협력 구조요청의 시작스스로 해결하기 어려운 문제에 부딪히면, 도움을 받을 수 있는 누군가에게 도움요청응답 요청을 받은 사람은 일을 처리후, 필요한 지식이나 서비스를 제공하는 것으로 요청에 응답연쇄적인 요청과 응답요청 받은 사람도 도움이 필요할 수도 있음전체적으로 협력은 다수의 연쇄적인 요청과 응답의 흐름으로 구성 Uploaded by N2T
개요이상한 나라의 앨리스에서의 누가 파이를 훔쳤는지에 대한 재판하트 잭의 재판을 주제로 모든 인물들이 객체로서 협력하는 모습을 보여준다.번역:이상한 나라의 앨리스/제11장 - 위키문헌, 우리 모두의 도서관도착해 보니 하트 여왕과 왕은 커다란 왕관을 쓰고 왕좌에 앉아 있었고, 새들과 동물 모두 한 벌의 카드마냥 정렬해 있었다. 잭들은 병사를 양 옆에 거느리고 의자에 앉아 있었고, 왕 옆에는 흰토끼가 한 손에 트럼펫을 들고 다른 한 손엔 포고문을 들고 서 있었다. 법정 한 가운데에는 먹음직스러운 타르트가 올려진 탁자가 놓여 있었다. 앨리스는 그것을 보자 몹시 배가 고파져서 “이미 재판이 끝나서 간식을 먹고 있는 중이라면 좋으련만!”하고 생각했지만, 달라지는 것은 없었다. 그래서 앨리스는 주위를 살피며 시간을..
개요크레이그 라만은객체의 책임을 하는 것아는 것두 가지로 분류한다.하는 것객체의 책임중 수행해야하는 행위의 집합을 말한다.스스로 하는 것객체를 생성, 계산하는 등의 스스로 수행하는 행위다른 객체의 행동을 시작시키는 것다른 객체가 특정 행동을 하도록 요청다른 객체의 활동을 제어하고 조절하는 것협력하는 객체들의 활동을 조율하고 제어아는 것객체의 책임 중에 알고 있어야 하는 정보의 집합임.개인적인 정보에 관해 아는 것객체 자신에 대한 정보관련된 객체에 관해 아는 것협력하는 다른 객체에 대한 정보자신이 유도하거나 계산할 수 있는 것에 관해 아는 것계산이나 추론을 통해 얻을 수 있는 정보private static class King { // 하는 것 : 토끼에게 목격자를 불러오라고 지시, 책임 (다른 객체의 행동..
1. 개요객체지향에서 객체는 협력 안에서 다른 객체로부터 요청이 전송됐을 때만 자신에게 주어진 책임을 수행합니다.객체 간의 협력은 메시지를 통해 이루어집니다.2. 책임정의객체가 협력에 참여하기 위해 수행해야 하는 행위를 나타냅니다.상위 수준에서 개략적으로 서술되며, 구현 방법에 대한 고민은 나중에 고려됩니다.3. 메시지정의객체가 다른 객체에게 주어진 책임을 수행하도록 요청을 보내는 것을 말합니다.구성송신자와 수신자로 구성되며, 이들 간의 상호 협력을 강조합니다.특징하나의 책임이 여러 메시지로 분할될 수 있으며협력에 참여하기 위한 유일한 방법입니다.4. 협력중요성객체지향 설계에서 협력은 어떤 객체가 어떤 책임을 수행하고 어떤 객체로부터 메시지를 수신할 것인지 결정하는 것에서 시작됩니다.절차초반에는 객체들이..
1. 개요"왕," "토끼," "모자 장수," "요리사," "앨리스" 등의 등장인물들이 참여하는 재판 과정을 살펴볼 수 있습니다. 이 과정은 3가지 증인이 등장하며 각각의 재판은 유사한 협력 구조를 가집니다.모자 장수는 증언을 마치고 나서 쏜살같이 법정을 빠져나갔다. "다음 증인을 불러라" 왕이 하얀 토끼에게 명령했다. 다음 증인은 공작부인의 요리사였다. "증언하라." 왕이 말했다. "싫어요." 왕이 근심스러운 얼굴로 하얀 토끼를 쳐다보자 토끼가 나지막이 속삭였다. "반드시 심문해야 할 목격자입니다." "글쎄, 반드시 그래야만 한다면 해야겠지." 그때 뒤에서 산쥐가 요리사의 증언을 방해하자 얼마 동안 법정 안이 술렁거렸다. 결국 산쥐가 법정 밖으 로 끌려나가고 법정이 다시 진정됐을 때는 요리사는 사라지고 ..
1. 개요객체지향 프로그래밍에서 역할, 책임, 협력은 핵심 요소입니다. 유사한 협력을 하나의 추상화된 협력으로 만들기 위해 역할이 사용됩니다. 2. 협력 추상화를 위한 역할 사용2.1 협력의 유사성세 가지 협력이 주어지고, 그 과정이 유사하므로 하나의 협력으로 다루고 싶은 경우, 역할이 사용될 수 있습니다.2.2 역할의 정의역할은 협력 과정 속에서 특정 객체가 수행하는 책임의 집합을 나타냅니다. 예를 들어, '판사'와 '증인'의 역할을 통해 세 가지 협력을 하나로 추상화할 수 있습니다.3. 역할 대체의 조건3.1 메시지 이해객체가 다른 역할을 대체하려면, 해당 역할이 수신할 수 있는 메시지를 동일한 방식으로 이해해야 합니다.3.2 동일한 책임 수행동일한 역할을 수행할 수 있는 객체들은 협력 내에서 동일한..