객체지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램
클래스
공통의 속성, 연산(메서드), 관계, 의미를 공유하는 객체들의 집합
속성
클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술
연산
이름, 타입, 매개변수들과 연관된 행위를 호출하는데 요구되는 제약사항들을 명시하는 클래스의 행위적 특징
접근 제어자
~ : 동일 패키지 클래스에서 접근 가능 (default)
연관 관계
클래스가 서로 개념적으로 연결된 선
2개 이상의 사물이 서로 관련되어 있는 상태를 표현
사물 사이를 실선으로 연결하여 표현하며, 방향성은 화살표로 표현
집합 관계
하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계
하나의 사물이 다른 사물에 포함되어 있는 관계 표현
복합 관계
영구적이고, 집합 관계보다 더 강한 관계로 구성
포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모를 연결하여 표현
일반화 관계
하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현
일반적인 개념을 부모라고 하고, 구체적인 개념을 자식이라고 함
구체적인 사물에서 일반적인 사물쪽으로 속이 빈 화살표를 연결하여 표현
의존 관계
하나의 클래스가 또 다른 클래스를 사용하는 관계
사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현
영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표를 연결하여 표현
실체화 관계
추상 클래스나 인터페이스를 상속받아 자식클래스가 추상 메서드를 구현할 때 사용
사물이 할 수 있거나, 해야 하는 기능으로 서로를 그룹화할 수 있는 관계를 표현
※ 연관 > 집합 > 복합