1. 개요타입은 객체의 동적인 특성을 추상화하는 역할을 합니다.프로그래머가 복잡한 세부 사항을 걱정하지 않고 좀 더 높은 수준에서 작업할 수 있게 합니다.2. 타입의 추상화 역할2.1. 정적 관점에서의 추상화객체의 특정 상태를 추상화하여 복잡성을 줄이고, 구체적인 세부 정보 대신 단순한 뷰를 제공합니다.예시앨리스의 키가 100센티미터인 것은 중요할 때가 있으나, 키가 변할 수 있다는 가능성에 집중하는 것이 더 간단합니다. (구체적인 정보를 단순화)2.2. 동적 관점에서의 추상화객체의 변화 가능성에 집중하며, 키의 변화와 같은 특정 상태 변화를 단순화하여 다룹니다.예시앨리스가 버섯을 먹거나 음료를 마시거나 부채질을 할 때마다 키가 변할 것입니다. 변하는 행위 에 집중합시다.!실제로 키가 어떤 값을 가지는지..
1. 동적 모델정의시스템이나 객체의 행동을 시간에 따라 어떻게 변화하는 나타내는 모델입니다.구성요소상태객체의 특정 시점에서의 상태를 표현행동객체가 어떻게 행동하는지, 상태가 어떤식으로 변화하는지 표현함.시퀀스 다이어그램객체 간의 상호작용을 시간 순서대로 나타냄왜 동적 모델을 사용하는가?시뮬레이션실제 시스템의 실행의 흐름을 어느정도 예측할 수 있습니다.고로,,,디버깅코드에는 일련의 시나리오가 아예 배제될 수는 없습니다.일련의 시나리오상의 오류를 찾고 수정하기 용이합니다.2. 정적 모델정의시스템의 구조적인 측면을 시간에 독립적으로 나타내는 모델입니다.구성요소클래스 다이어그램객체 타입 관계 속성 등을 표현하는 UML 도구인터페이스가능한 메서드와 속성을 정의하는 방법타입객체를 분류하기 위해 사용, 클래스는 타입..
1. 클래스와 타입의 구분1.1. 타입과 클래스의 차이타입객체를 분류하기 위해 사용하는 개념으로, 객체가 수행하는 행동을 기준으로 합니다.클래스타입을 구현할 수 있는 구현 메커니즘이며, 정적인 모델로 프로그래밍 언어에서 제공됩니다.1.2. 클래스와 타입의 혼동대부분의 객체지향 프로그래밍 언어는 클래스를 기반으로 하므로, 클래스와 타입을 동일한 것으로 오해하는 경우가 많습니다.클래스와 타입은 다른 개념입니다!이러한 혼동은 설계를 덜 유연하게 만들 수 있으며, 오해와 혼란을 불러일으킬 수 있습니다.2. 중요성2.1. 객체지향의 중심객체지향에서 중요한 것은 동적으로 변하는 객체의 '상태'와 상태를 변경하는 '행위'입니다.클래스는 단순히 타입을 구현하는 한 가지 방법일 뿐이며, 재사용이나 다른 용도로도 사용될 ..
개요협력은 일상 생활에서도 중요한 개념으로 요청 - 응답의 연쇄적인 흐름으로 이루어집니다.요청과 응답의 협력 구조요청의 시작스스로 해결하기 어려운 문제에 부딪히면, 도움을 받을 수 있는 누군가에게 도움요청응답 요청을 받은 사람은 일을 처리후, 필요한 지식이나 서비스를 제공하는 것으로 요청에 응답연쇄적인 요청과 응답요청 받은 사람도 도움이 필요할 수도 있음전체적으로 협력은 다수의 연쇄적인 요청과 응답의 흐름으로 구성 Uploaded by N2T
개요이상한 나라의 앨리스에서의 누가 파이를 훔쳤는지에 대한 재판하트 잭의 재판을 주제로 모든 인물들이 객체로서 협력하는 모습을 보여준다.번역:이상한 나라의 앨리스/제11장 - 위키문헌, 우리 모두의 도서관도착해 보니 하트 여왕과 왕은 커다란 왕관을 쓰고 왕좌에 앉아 있었고, 새들과 동물 모두 한 벌의 카드마냥 정렬해 있었다. 잭들은 병사를 양 옆에 거느리고 의자에 앉아 있었고, 왕 옆에는 흰토끼가 한 손에 트럼펫을 들고 다른 한 손엔 포고문을 들고 서 있었다. 법정 한 가운데에는 먹음직스러운 타르트가 올려진 탁자가 놓여 있었다. 앨리스는 그것을 보자 몹시 배가 고파져서 “이미 재판이 끝나서 간식을 먹고 있는 중이라면 좋으련만!”하고 생각했지만, 달라지는 것은 없었다. 그래서 앨리스는 주위를 살피며 시간을..
개요크레이그 라만은객체의 책임을 하는 것아는 것두 가지로 분류한다.하는 것객체의 책임중 수행해야하는 행위의 집합을 말한다.스스로 하는 것객체를 생성, 계산하는 등의 스스로 수행하는 행위다른 객체의 행동을 시작시키는 것다른 객체가 특정 행동을 하도록 요청다른 객체의 활동을 제어하고 조절하는 것협력하는 객체들의 활동을 조율하고 제어아는 것객체의 책임 중에 알고 있어야 하는 정보의 집합임.개인적인 정보에 관해 아는 것객체 자신에 대한 정보관련된 객체에 관해 아는 것협력하는 다른 객체에 대한 정보자신이 유도하거나 계산할 수 있는 것에 관해 아는 것계산이나 추론을 통해 얻을 수 있는 정보private static class King { // 하는 것 : 토끼에게 목격자를 불러오라고 지시, 책임 (다른 객체의 행동..