alt
Home Class diagram
Post
Cancel

Class diagram


img


  1. Generalization
    • 상속 관계
    • A -> B : A가 B를 상속


  1. Realization
    • Interface에 정의된 메서드를 오버라이딩해 구현한 것 이라고 생각하면 됨
    • A -> B : A는 B를 실체화 혹은 구현한것


  1. Dependency
    • A객체가 B 객체를 가지고 있을 때 A가 B에 의존관계를 가지게 됨 A -> B
1
2
3
4
5
public class A {
	public String foo(B b) {
        ...
    };
}


  1. Association
    • 다른 객체의 참조를 가짐.
    • 방향성이 없다 -> 누가 누구를 참조할지 명시를 하지 않는 것
      • 모든 가능성에 대해 생각 할 것
1
2
3
public class A {
    private List<B> b;
}


  • Dependency와 Association의 차이
    • Dependency
      • 클래스 A가 클래스 B의 메서드를 가지고 있음
      • 클래스 B를 메서드의 인자로 받음
    • Association
      • 클래스 A가 클래스 B를 멤버 “변수”로 가짐


  1. Diredted Association
    • 방향성을 가짐
    • 바로 위의 예시에서 A -> B
    • <<List>> 혹은 * , 혹은 속성을 같이 명시하면 좋음


  1. Aggregation
    • 보다 특수한 Association.
    • 코드 level에서는 큰 차이가 보이지 않음
    • “집합”이라는 개념이 추가되었으나 공식문서에서도 명확한 정의 없음
      • 따라서 많은 곳에서 웬만하면 지양해야 한다고 함


  1. Composition
    • Aggregation과 비슷한데 좀더 강한 집합.
    • whole이 part의 생명주기를 책임진다.



Reference)

https://en.wikipedia.org/wiki/Class_diagram

https://www.nextree.co.kr/p6753/

https://morm.tistory.com/88

This post is licensed under CC BY 4.0 by the author.