태그 보관물: UML

UML – Aggregation

aggregation은 연관관계(association)의 하위 분류로, 집합 관계를 표시한다. 연관관계를 가지는 클래스 객체와 생명 주기가 다른 경우가 aggregation 관계이다.

1. 클래스 다이어그램

2. 코드

2.1 I.java
public class I {
  private ArrayList array;
  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 – 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;
}