슈퍼타입과 서브타입일반화/특수화 관계: 좀 더 일반적인 타입(슈퍼타입)과 좀 더 특수한 타입(서브타입) 간의 관계중요한 것: 두 타입 간의 관계가 행동에 의해 결정됨(행위적 호환성)행위적 호환성서브타입은 슈퍼타입의 행위와 호환되어야 함서브타입은 슈퍼타입을 대체할 수 있어야 함일반화/특수화 관계 표기법슈퍼타입: 상단, 서브타입: 하단, 속이 빈 삼각형으로 연결서브타입에서는 슈퍼타입과 중복된 행위를 생략 가능서브타입에게 슈퍼타입의 행동이 자동으로 상속됨// 슈퍼타입 클래스 정의 class Trump { void flatten() { System.out.println("납작 엎드릴 수 있다."); } void flip() { System.out.println("뒤집어질 수 있다."); } } // 서브타입 클..
1. 개요객체지향 패러다임에서는 추상화와 일반화/특수화 계층이 중요하게 작용한다.2. 일반화와 추상화일반화는 특수한 것을 더 넓은 의미로 표현하는 것이다.추상화는 중요한 부분만 강조하고 불필요한 세부사항을 제거하여 단순화하는 것이다. 이러한 방법을 통해 객체를 좀 더 관리하기 쉽게 만들 수 있다.2.1 일반화/특수화의 예시예를 들어, 트럼프 인간을 트럼프로 일반화하면 복잡성을 줄이고 중요한 특성만을 강조할 수 있습니다. 이렇게 일반화와 특수화를 함께 사용하면 객체를 더 효율적으로 다룰 수 있습니다.3. 정적 모델시간에 따라 변하는 객체의 복잡성을 정적인 관점에서 표현하기 위해 타입을 사용합니다.시간이라는 요소를 제거하고 상태를 단순화함으로써 객체를 더 쉽게 다룰 수 있게 됩니다.3.1 타입의 목적타입은 ..
1. 개요타입은 객체의 동적인 특성을 추상화하는 역할을 합니다.프로그래머가 복잡한 세부 사항을 걱정하지 않고 좀 더 높은 수준에서 작업할 수 있게 합니다.2. 타입의 추상화 역할2.1. 정적 관점에서의 추상화객체의 특정 상태를 추상화하여 복잡성을 줄이고, 구체적인 세부 정보 대신 단순한 뷰를 제공합니다.예시앨리스의 키가 100센티미터인 것은 중요할 때가 있으나, 키가 변할 수 있다는 가능성에 집중하는 것이 더 간단합니다. (구체적인 정보를 단순화)2.2. 동적 관점에서의 추상화객체의 변화 가능성에 집중하며, 키의 변화와 같은 특정 상태 변화를 단순화하여 다룹니다.예시앨리스가 버섯을 먹거나 음료를 마시거나 부채질을 할 때마다 키가 변할 것입니다. 변하는 행위 에 집중합시다.!실제로 키가 어떤 값을 가지는지..
1. 동적 모델정의시스템이나 객체의 행동을 시간에 따라 어떻게 변화하는 나타내는 모델입니다.구성요소상태객체의 특정 시점에서의 상태를 표현행동객체가 어떻게 행동하는지, 상태가 어떤식으로 변화하는지 표현함.시퀀스 다이어그램객체 간의 상호작용을 시간 순서대로 나타냄왜 동적 모델을 사용하는가?시뮬레이션실제 시스템의 실행의 흐름을 어느정도 예측할 수 있습니다.고로,,,디버깅코드에는 일련의 시나리오가 아예 배제될 수는 없습니다.일련의 시나리오상의 오류를 찾고 수정하기 용이합니다.2. 정적 모델정의시스템의 구조적인 측면을 시간에 독립적으로 나타내는 모델입니다.구성요소클래스 다이어그램객체 타입 관계 속성 등을 표현하는 UML 도구인터페이스가능한 메서드와 속성을 정의하는 방법타입객체를 분류하기 위해 사용, 클래스는 타입..
1. 클래스와 타입의 구분1.1. 타입과 클래스의 차이타입객체를 분류하기 위해 사용하는 개념으로, 객체가 수행하는 행동을 기준으로 합니다.클래스타입을 구현할 수 있는 구현 메커니즘이며, 정적인 모델로 프로그래밍 언어에서 제공됩니다.1.2. 클래스와 타입의 혼동대부분의 객체지향 프로그래밍 언어는 클래스를 기반으로 하므로, 클래스와 타입을 동일한 것으로 오해하는 경우가 많습니다.클래스와 타입은 다른 개념입니다!이러한 혼동은 설계를 덜 유연하게 만들 수 있으며, 오해와 혼란을 불러일으킬 수 있습니다.2. 중요성2.1. 객체지향의 중심객체지향에서 중요한 것은 동적으로 변하는 객체의 '상태'와 상태를 변경하는 '행위'입니다.클래스는 단순히 타입을 구현하는 한 가지 방법일 뿐이며, 재사용이나 다른 용도로도 사용될 ..
개요협력은 일상 생활에서도 중요한 개념으로 요청 - 응답의 연쇄적인 흐름으로 이루어집니다.요청과 응답의 협력 구조요청의 시작스스로 해결하기 어려운 문제에 부딪히면, 도움을 받을 수 있는 누군가에게 도움요청응답 요청을 받은 사람은 일을 처리후, 필요한 지식이나 서비스를 제공하는 것으로 요청에 응답연쇄적인 요청과 응답요청 받은 사람도 도움이 필요할 수도 있음전체적으로 협력은 다수의 연쇄적인 요청과 응답의 흐름으로 구성 Uploaded by N2T
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.