UML 모델링에서
인터페이스는 클래스와 같은 기타 모델 요소 또는 컴포넌트가 구현해야 하는
오퍼레이션 세트를 정의하는 모델 요소입니다. 구현하는 모델 요소는
인터페이스가 선언하는 각 오퍼레이션을 대체해서 인터페이스를 실현합니다.
클래스 다이어그램 및 컴포넌트 다이어그램에서 인터페이스를 사용하여
인터페이스를 실현하는 클래스류 및 인터페이스 간의 계약을 지정할 수 있습니다.
각 인터페이스는 공용 가시성이 있는 잘 정의된 오퍼레이션 세트를
지정합니다. 오퍼레이션 서명은 구현하는 클래스류에
호출할 동작의 유형을 알리지만 이 동작의 호출 방법은 알려주지 않습니다.
많은 클래스류는 각각이 고유 구현을 제공하는 단일 인터페이스를
구현할 수 있습니다.
인터페이스는 정보 숨기기를 지원하며 특정 동작이나 서비스를 공용으로 선언하여
클라이언트 코드를 보호합니다. 이 동작을 구현해서
인터페이스를 실현하는 클래스나 컴포넌트는 응용프로그램 개발을 단순화합니다. 이는
클라이언트 코드를 쓰는 개발자가 구현 세부사항이 아닌 인터페이스에
대해서만 알고 있으면 되기 때문입니다. 모델에서 인터페이스를 구현하는
컴포넌트 또는 클래스를 바꾸는 경우 새 모델 요소가 동일한 인터페이스를
구현하면 응용프로그램을 다시 디자인할 필요가 없습니다.
다음 유형의 인터페이스를 지정할 수 있습니다.
- 제공된 인터페이스: 이 인터페이스는 클래스류(공급자)의 인스턴스가
클라이언트에 제공하는 서비스를 설명함
- 필수 인터페이스: 이 인터페이스는 클래스류가 기능을 수행해야 하며
클라이언트에 의무를 이행해야 하는 서비스를 지정합니다.
인터페이스에는 일반적으로 응용프로그램에서 수행하는 역할을 반영한
이름이 있습니다. 공통 규약은
인터페이스의 이름에 접두부를 붙이고 모델 요소가 인터페이스임을 나타내는
슬래시를 사용하는 것입니다.
다음 그림에 표시된 대로 다이어그램 편집기는 다음 방식으로 인터페이스를
표시합니다.
- «interface» 키워드를 포함하는 클래스 직사각형 기호. 이 표기법은
내부 또는 클래스 보기라고도 합니다.

인터페이스의
세부사항을 모델링해야 할 때 클래스 쉐이프를 사용하십시오. 클래스 쉐이프의
컴파트먼트는 인테페이스의 신호 수신, 오퍼레이션 및 속성에 대한 정보를
표시합니다.
- 공 및 소켓 표기법, 클래스류에서 제공된 인터페이스까지의 구현 종속성이
원(공)으로 표시되고 클래스류에서 필수 인터페이스까지의 사용법 종속성은
반원(소켓)으로 표시됩니다. 이 표기법은 외부 보기라고도 합니다.
| 제공된 인터페이스(원 모양) |
필수 인터페이스(소켓 모양) |
 |
 |
제공된
인터페이스를 모델링해야 하며 필수 인터페이스가 존재하는 경우에만 lollypop
표기법이라고도 하는 공 및 소켓 표기법을 사용하십시오.