클래스류에는 여러 오퍼레이션이 있거나 전혀 없을 수 있습니다. 오퍼레이션은 일반적으로 클래스인 클래스류의 인스턴스 동작 및 유스 케이스나 컴포넌트와 같은 기타 클래스류의 인스턴스 동작도 정의합니다.
오퍼레이션을 추가하여 모델의 여러 유형의 클래스류 동작을 식별할 수 있습니다. 이 경우에는 오퍼레이션이 오브젝트가 수행하는 데 필요할 수 있는 기능의 구현입니다. 잘 정의된 오퍼레이션은 단일 타스크를 수행합니다.
오퍼레이션에는 오퍼레이션에 오류가 발생할 때 작성되는 요소인 예외가 있을 수 있습니다.
클래스류의 모든 오퍼레이션에는 고유 서명이 있어야 합니다. 서명은 오퍼레이션의 이름 및 매개변수 유형의 정렬된 목록으로 이루어집니다. 오퍼레이션 이름의 UML 구문은 다음과 같습니다.
visibility «stereotype» name(parameter list) : return-type
예를 들어, 전자 상거래 응용프로그램에서 Customer 클래스에는 다음 오퍼레이션이 있습니다. - getBalance([in] day: Date) : MoneyType. 오퍼레이션 서명은 다음 표의 정보를 설명합니다.
| 구문 파트 | 예제 | 설명 |
|---|---|---|
| visibility | - | 빼기 부호는 오퍼레이션에 개인용 가시성이 있음을 나타냅니다. 이 오퍼레이션은 다른 클래스에서 호출할 수 없습니다. |
| name | getBalance | name은 제공하는 서비스에 따라 오퍼레이션을 설명합니다. |
| parameter list | ([in] day: Date) | 이 오퍼레이션에는 day라는 한 입력 매개변수가 있으며 유형인 Date가 뒤따릅니다. 완전한 서명(매개변수 목록을 포함하여) 또는 오퍼레이션의 이름만 표시할 수 있습니다. |
| return-type | : MoneyType | 오퍼레이션이 리턴한 유형은 MoneyType 클래스의 인스턴스입니다. |
전자 상거래 응용프로그램에서 Cart 클래스는 가상 장바구니에 상품을 추가하거나 제거합니다. addItem( )과 같은 오퍼레이션은 장바구니에 상품을 추가하고 removeItem( ) 오퍼레이션은 상품을 제거합니다.