Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[UML] 클래스 간 관계를 시각적으로 표현하는 클래스 다이어그램(Class Diagram) 본문
𐂂 클래스 다이어그램 (Class Diagram)
시스템의 클래스, 인터페이스, 관계, 속성, 메서드 등을 나타내어
소프트웨어의 구조와 클래스 간 관계를 시각적으로 표현하는 UML 다이어그램 중 하나다.
❓UML(Unified Modeling Language)
: 시스템 구조, 동작 및 상호작용을 시각적으로 나타내는데 사용되는 표준화된 그래픽언어를 말한다.
소프트웨어의 구조와 클래스 간 관계를 시각적으로 표현하는 UML 다이어그램 중 하나다.
❓UML(Unified Modeling Language)
: 시스템 구조, 동작 및 상호작용을 시각적으로 나타내는데 사용되는 표준화된 그래픽언어를 말한다.
𖠃 클래스 간 관계
(1) 연관관계 (association)
[ 실선 or 화살표 (알고있는객체) ]
화살표: 한쪽 객체는 다른쪽 객체를 알지만, 다른쪽 객체는 나를 모를 때,
실선: 양쪽객체 다 상대방을 알 때
⚠️ 알고 있다는 것은 멤버변수로 다른쪽 객체를 참조하고 있다는 것을 말한다.
(2) 일반화관계 (generalization)
[ 속이 빈 화살표 (부모클래스) ]
한쪽 객체가 다른쪽 객체를 상속하는 관계를 말한다.
(3) 집합관계 - 집약관계 (aggregation)
[ 전체객체부분이 속이 빈 다이아몬드 ]
전체와 부분의 관계를 말하는데,
전체 객체의 라이프타임과 부분객체의 라이프타임이 독립적인 것을 말한다.
즉, 전체객체가 사라져도 부분객체는 남아있는 관계를 말한다.
⚠️ 전체객체가 멤버변수로 다른쪽 객체를 참조하고 있지만, 직접 new하지는 않는다.
(4) 집합관계 - 합성관계 (composition)
[ 전체객체부분이 속이 찬 다이아몬드 ]
전체와 부분의 관계를 말하는데
전체 객체의 라이프타임과 부분객체의 라이프타임이 의존적인 것을 말한다.
즉, 전체객체가 사라지면 부분객체도 사라지는 관계를 말한다.
⚠️ 전체객체가 멤버변수로 다른쪽 객체를 참조하고, 직접 new한다.
(5) 의존관계 (dependency)
[ 점선 화살표 (호출당하거나 인자로 넘겨지는 객체) ]
한쪽 객체가 다른쪽 객체에서 제공하는 기능을 사용하는 관계를 말한다.
다른쪽 객체의 메서드를 호출하거나 다른쪽 객체의 메서드를 파라미터로 사용하는 관계를 말한다.
⚠️ 멤버변수로 다른쪽 객체를 가지고 있지 않는다.
(6) 실체화관계 (realization)
[ 빈 삼각형(인터페이스)과 점선 ]
책임들의 집합인 인터페이스와 책임들을 실제로 구현한 클래스 사이의 관계를 말한다.
[ 실선 or 화살표 (알고있는객체) ]
화살표: 한쪽 객체는 다른쪽 객체를 알지만, 다른쪽 객체는 나를 모를 때,
실선: 양쪽객체 다 상대방을 알 때
⚠️ 알고 있다는 것은 멤버변수로 다른쪽 객체를 참조하고 있다는 것을 말한다.
(2) 일반화관계 (generalization)
[ 속이 빈 화살표 (부모클래스) ]
한쪽 객체가 다른쪽 객체를 상속하는 관계를 말한다.
(3) 집합관계 - 집약관계 (aggregation)
[ 전체객체부분이 속이 빈 다이아몬드 ]
전체와 부분의 관계를 말하는데,
전체 객체의 라이프타임과 부분객체의 라이프타임이 독립적인 것을 말한다.
즉, 전체객체가 사라져도 부분객체는 남아있는 관계를 말한다.
⚠️ 전체객체가 멤버변수로 다른쪽 객체를 참조하고 있지만, 직접 new하지는 않는다.
(4) 집합관계 - 합성관계 (composition)
[ 전체객체부분이 속이 찬 다이아몬드 ]
전체와 부분의 관계를 말하는데
전체 객체의 라이프타임과 부분객체의 라이프타임이 의존적인 것을 말한다.
즉, 전체객체가 사라지면 부분객체도 사라지는 관계를 말한다.
⚠️ 전체객체가 멤버변수로 다른쪽 객체를 참조하고, 직접 new한다.
(5) 의존관계 (dependency)
[ 점선 화살표 (호출당하거나 인자로 넘겨지는 객체) ]
한쪽 객체가 다른쪽 객체에서 제공하는 기능을 사용하는 관계를 말한다.
다른쪽 객체의 메서드를 호출하거나 다른쪽 객체의 메서드를 파라미터로 사용하는 관계를 말한다.
⚠️ 멤버변수로 다른쪽 객체를 가지고 있지 않는다.
(6) 실체화관계 (realization)
[ 빈 삼각형(인터페이스)과 점선 ]
책임들의 집합인 인터페이스와 책임들을 실제로 구현한 클래스 사이의 관계를 말한다.
Comments