UML의 관계(Relation)를 쉽게 파악할 수 있는 그림이 있어서 올려봅니다.
태그: UML
UML – Aggregation
aggregation은 연관관계(association)의 하위 분류로, 집합 관계를 표시한다. 연관관계를 가지는 클래스 객체와 생명 주기가 다른 경우가 aggregation 관계이다.
1. 클래스 다이어그램
2. 코드
2.1 I.java
public class I { private ArrayListarray; public I() { } public void setArray(ArrayList array) { this.array = array; } }
2.2 J.java
public class J { private J j; }
UML – Composition
컴포지션(composition)은 association의 하위 분류로, 집합 관계를 표시한다. 연관 관계를 가지는 클래스 객체와 생명 주기가 같은 경우가 컴포지션 관계이다.
1. 클래스 다이어그램
2. 코드
2.1 G.java
public class G { private ArrayList< array; public G() { array = new ArrayList(); } }
2.2 H.java
public class H { private G g; }
UML – Dependency
의존관계(Dependency)를 표기하는 방법을 살펴보자.
1. 클래스 다이어그램
2. 코드
2.1 E.java
public class E { public void handle(F f) { } }
2.2 F.java
public class F { }
UML – Association
연관 관계(Association)은 단순히 관계가 있다는 말이다. 그리고, 관계에는 단방향과 양방향이 있다. 그리고, 관계는 여러 개와 관계를 가질 수 있고, 이것은 집합적인 개념으로 Aggregation과 Composition으로 나눌 수 있다. 아래에서는 단방향과 양방향에 대해서 살펴보자.
1. 단방향
1.1 클래스 다이어그램
1.1 코드
1.1.1. C.java
public class C { /** */ public D Unnamed1; }
1.1.2. D.java
public class D { }
2. 양방향
2.1 클래스 다이어그램
2.2 코드
2.2.1. A.java
public class A { /** */ public B Unnamed1; }
2.2.2. B.java
public class B { /** */ public A Unnamed1; }