본문 바로가기

[ Project Plan & Design ]/Uml

UML 요점 정리 #5 - 클래스 다이어그램(2)

클래스 다이어그램(2)

 

 

1. 클래스에서 사용자 정의 구역(User-defined compartment)

UML에서 미리 정의하는 부분 외에 사용자가 정의하여 작성할 수 있는 새로운 구역을 첨가할 수 있다.

 

 

2. Type and Implementation Class

Type의 경우 스테레오 타입으로 'type'을 가지며, 객체가 가지는 Specification만을 표시한다.

Implementation class의 경우 'ImplementationClass'를 가지며, 실제 물리적인 언어에 바인딩되게 표현한다.

 

 

3. Interface


인터페이스 클래스의 경우 스테레오 타입을 'interface'로 가지며 객체지향 언어인 java에서 사용되는 인터페이스의 의미와 동일하게 클래스의 행위만을 확정한다.

 

이런 인터페이스는 구현을 가지지 않으므로 추상적인 operation을 가지게 된다.

 

4. Parameterized Class (Template Class)


객체 지향 언어 C++에서 사용되는 Template와 동일하다.

 

5. Utility


스테레오 타입으로 'utility'를 가지며 일반적인 클래스의 의미가 아닌 프로그램의 편리를 위해 만들어진 클래스이다.

 

프로그래밍을 하면 반드시 전역으로 만들어야할 프로시져나 변수들이 존재한다. 이를 기능적으로 분리하기 위해 Utility Class를 사용한다.

 

Utility Class 내부에 존재하는 attribute나 operation의 경우 전역 변수나 프로시져로 인식하면 된다.

 

6. MetaClass

스테레오 타입 'metaclass'를 가지는 클래스이며, metaclass의 인스턴스가 클래스가되는 클래스를 의미

 

 

7. Enumeration

스테레오 타입 'enumeration'을 가지는 클래스이며, 프로그램 언어에서 사용되는 enumeration type과 유사하다.

Enumeration Class의 인스턴스는 반드시 사용자가 정의한 특정 문자의 집합이어야 한다. 이러한 문자는 상대적인 순서를 지닌다.

 

 

8. Stereotype

스테레오 타입 'stereotype'을 가지는 클래스이며, 사용자 정의 스테레오 타입을 만들기 위해 사용되는 클래스이다.

 

 

9. Class Pathname

클래스를 표기함에 있어 UML에서 패키지(Package)를 같이 붙여 클래스의 범위를 지정할 수 있는데, 패키지는 UML에서 Namespace의 역할을 한다. 패키지 속에 패키지가 포함될 수 있으므로 패키지 path를 다 적용하여 클래스의 Pathname을 표기하기도 한다.


- Reference

  http://jedikim72.blog.me/10025703879