본문 바로가기
Concepts/UML

UML - 클래스 다이어그램 고급 - 키워드, 책임, static

by ocwokocw 2021. 2. 10.

- 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다.

- 개요

사실 앞의 클래스 다이어그램편에서 언급한 표기법을 사용할 줄 안다면 이미 대부분을 사용하고 있는것이다. 고급편에서는 적절한 곳에 사용하면 유용한 그 외의 표기법을 소개한다.


- 키워드

그래픽언어의 단점은 심볼을 모두 외워야 한다는것이다. UML에는 키워드라는것이 있다. 만약 모델링을 위해 UML을 사용하는데 비슷한 기호만 존재할 때, 해당 기호를 사용하고 키워드로 표시하면 사용자에게 해당기호를 어떤 의미로 사용했다고 어필할 수 있다.

UML 인터페이스는 몸체가 없는 public 오퍼레이션만 정의되어 있다. 이것을 클래스의 특별한 타입이라고 본다면, 클래스 기호를 사용하고 <<interface>> 키워드로 표시해주면 해당 의도를 표현할 수 있다.

StarUML 에서는 클래스 다이어그램을 선택하고 기호창을 보면 Class와 Interface 기호가 따로 정의되어 있다. 이 기호를 그대로 사용해도 되지만 그렇게 되면 사용자는 인터페이스와 클래스 기호를 모두 외워야 한다. 

Interface1은 StarUML에서 정의된 인터페이스 기호를 Default 형식으로 사용한것이다. 인터페이스 기호를 선택하여 스트레오타입 디스플레이를 변경하면 Interface2와 같이 <<interface>> 키워드를 사용하여 표시한다. 개인적으로는 키워드로 표현한 방식을 선호한다.


- 책임

클래스 다이어그램을 그릴 때 책임을 나타내야할 수도 있다. 이때 클래스 내부에 주석문을 사용할 수 있는데 '--' 기호 뒤에 설명할 주석으로 나타낸다.


- 정적 오퍼레이션과 속성

UML 에서는 인스턴스가 아닌 클래스에 적용되는 오퍼레이션과 속성을 정적(static) 이라고 부른다.

클래스에 속성을 추가한 후 해당 속성을 선택하여 OwnerScope를 CLASSIFER로 변경하면 static 처럼 아래에 밑줄이 생긴다.

댓글