클래스 다이어그램
-
클래스
-
클래스란 동일한 속성과 행위를 수행하는 객체의 집합
-
-
관계
-
연관관계 (association) : 클래스들이 개념상 서로 연결되었음을 나타낸다. 실선이나 화살표로 표시하며 보통은 한 클래스가 다른 클래스에서 제공하는 기능을 사용하는 상황일때 표시한다.
-
단방향 연관 관계 (unidirectional association)
-
양방향 연관 관계 (bidirectional association)
-
다대다 연관 관계는 자연스럽게 양방향 연관 관계가 되므로 구현하기가 생각보다 복잡하다. 따라서 보통 다대다 연관 관계를 일대다 단방향 연관 관계로 변환해 구현한다.
-
-
-
일반화 관계(generalization) : 객체지향 개념에서는 상속 관계라고 한다. 한 클래스가 다른 클래스를 포함하는 상위 개념일때 이를 IS-A 관계라고 하면 UML에서는 일반화 관계로 모델링한다. 속이 빈 화살표를 사용해 표시한다.
-
집합 관계(composition, aggregation) : 클래스들 사이의 전체 또는 부분 같은 관계를 나타낸다. 집약(aggregation) 관계 와 합성(composition) 관계가 존재한다.
-
의존 관계(dependency) : 연관 관계와 같이 한 클래스가 다른 클래스에서 제공하는 기능을 사용할 때를 나타낸다. 차이점은 두 클래스의 관계가 한 메서드를 실행하는 동안과 같은, 매우 짧은 시간만 유지된다는 점이다. 점선 화설표를 사용해 표시한다.
-
실체화 관계 (realization) :책임들의 집합인 인터페이스와 이 책임들을 실제로 실현한 클래스들의 사이의 관계를 나타낸다. 상속과 유사하게 빈 삼각형을 사용하며 머리에 있는 실선 대신 점선을 사용해 표시한다.
-
참고서적 : 객체지향 디자인 패턴 (http://www.yes24.com/Product/Goods/12501269)
'백엔드 > Java' 카테고리의 다른 글
개념 (0) | 2020.01.04 |
---|---|
자바 객체 지향 디자인 패턴 맛보기 4탄 (0) | 2019.12.10 |
자바 객체 지향 디자인 패턴 맛보기 3탄 (0) | 2019.11.17 |
Integer == 비교 (0) | 2019.11.16 |
자바 객체 지향 디자인 패턴 맛보기 1탄 (0) | 2019.10.03 |
디자인 패턴 - 스테이트 패턴이란? (0) | 2019.09.28 |
디자인 패턴 - 템플릿 메서드 패턴이란? (0) | 2019.09.28 |
Effective Java 맛보기 11탄 (0) | 2019.09.21 |
댓글