클래스 표현
학생
(-)이름
(-)전공
(-)학번
(-)과목
(+)수강하다()
접근제어자 표현
public +
private -
protected #
package ~
연관관계
클래스들이 개념상 서로 연결되어있음을 나타낸다. 실선이나 화살표로 표시하며 보통 한 클래스가 다른 클래스에서 제공하는 기능을 사용하는 상황일 때 표시한다.
일반화관계
객체지향 개념에서는 상속관계라고 한다. 한 클래스가 다른 클래스를 포함하는 상위 개념일 때 이를 IS-A 라고 한다. 속이 빈 화살표를 사용해 표시한다.
집합관계
클래스들 사이의 전체 또는 부분 같은 관계를 나타낸다. 집약관계와 합성관계가 존재한다.
의존관계
연관관계와 같이 한 클래스가 다른 클래스에서 제공하는 기능을 사용한다. 차이점은 두 클래스의 관계가 한 메소드를 실행하는 동안과 같은 매우 짧은 시간만 유지된다는 점이다. 점선화살표를 사용해 표시한다.
실체화관계
책임들의 집합인 인터페이스와 이 책임들을 실제로 실현한 클래스들 사이의 관계를 나타낸다. 상속과 유사하게 머리에 있는 실선대신 점선을 사용해 표시한다.
1 : 엄밀하게 1
* : 0 또는 그 이상
0..* : 0 또는 그 이상
1..* : 1 이상
0..1 : 0 또는 1
2..5 : 2 또는 3 또는 4 또는 5
1,2,6 : 1 또는 2 또는 6
1,3..5 : 1 또는 3 또는 3 또는 5
(출처 : 자바 객체지향 디자인패턴, 지은이 정인상, 채흥석, 펴낸곳 한빛미디어)