UML モデリングでは、インターフェースは、クラスなどの他のモデル要素やコンポーネントが実装する必要がある操作のセットを定義するモデル要素です。実装するモデル要素は、インターフェースが宣言する各操作をオーバーライドすることにより、インターフェースを実現します。
クラス図またはコンポーネント図でインターフェースを使用して、インターフェースと、インターフェースを実現する分類子との間の規約を指定できます。各インターフェースは、十分に定義された、可視性が public の操作セットを指定します。操作シグニチャーは実装分類子に対して、どの種類の振る舞いを起動するかを通知しますが、振る舞いを起動する方法については通知しません。多くの分類子が単一のインターフェースを実装でき、それぞれが固有の実装を提供します。
インターフェースは情報の非表示をサポートし、特定の振る舞いまたはサービスを public で宣言することで、クライアント・コードを保護します。この振る舞いを実装してクラスまたはコンポーネントがインターフェースを実現することにより、クライアント・コードを記述する開発者は、実装の詳細を知らなくてもインターフェースについてのみ知れば十分なため、アプリケーション開発が単純化できます。クラス、またはインターフェースを実装するコンポーネントをモデル内で置換し、新たなモデル要素が同じインターフェースを実装する場合、アプリケーションを再設計する必要はありません。
以下のタイプのインターフェースを指定できます。
インターフェースには通常、アプリケーションで果たす役割を反映した名前が付けられます。共通の規約としては、インターフェースの名前の接頭部に、モデル要素がインターフェースであることを示すスラッシュを付けます。