클래스 다이어그램은 시스템 내의 클래스들 사이의 관계를 시각적으로 표현한 것입니다. 클래스 다이어그램을 통해 개발자는 클래스 간의 상속, 연관, 의존 등의 관계를 명확하게 이해하며, 전체 시스템의 구조를 파악할 수 있습니다.
- 기본 구성 요소
1. 클래스 : 사각형으로 표현되며 보통 세 부분으로 나뉩니다.
클래스 이름 ( = 필수적으로 기재해야)
속성 : 클래스가 가진 정보나 데이터
메서드 : 클래스가 수행하는 행동이나 기능
2. 관계 : 클래스들 사이의 연결을 나타내며, 주로 화살표나 선으로 표현됩니다.
- 상속 : 화살표가 상위 클래스를 가리키며, 빈 화살표를 사용합니다.
- 연관 : 두 클래스가 서로 연결되어 있음을 나타내며, 일반적으로 선으로 표현됩니다. 양방향 또는 단방향일 수 있습니다. (양방향은 실선, 단방향은 화살표로 표시.)
단방향 - 한 쪽은 알지만 다른 쪽은 상대방의 존재를 모름.
양방향 - 두 클래스의 객체들이 서로의 존재를 인식함.
- 집합(aggregation) : 한 클래스가 다른 클래스를 포함하지만, 생명 주기가 독립적임을 나타냅니다. 빈 다이아몬드로 표현됩니다. 집합 관계는 전체와 부분의 관계를 명확하게 명시하고자 할 때 사용합니다.
- 구성(composition) : 집합과 유사하지만, 포함된 클래스의 생명 주기가 포함하는 클래스에 의존적임을 나타냅니다. 채워진 다이아몬드로 표현됩니다.
- 의존관계 : 짧은 시간 동안 이용하는 관계 (점선)
( 연관관계는 오랜 시간 동안 같이할 객체간의 관계)
- 인터페이스 관계 : 빈 삼각형과 점선을 사용
- 인터페이스를 원으로 그려 두기도 함 주의 !
* 전체 화살표 모양 정리
* static 메소드는 인스턴스에 포함되지 않는다.
따라서 인스턴스를 생성하지 않고 클래스 이름을 통해 직접 호출할 수 있다.
* 추상 클래스는 최소 하나의 추상 메소드를 가져야 한다.
<< >> 꺾새 ==> stereotype
'소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] CRC(Class, Responsibility, Collaboration) card (47) | 2024.04.24 |
---|---|
[소프트웨어공학] 객체지향 언어 특징 (51) | 2024.04.24 |