Na modelagem UML, as interfaces são elementos de modelo que definem conjuntos de operações que outros elementos de modelo, como por exemplo classes, ou componentes devem executar. Um elemento de modelo de execução realiza uma interface pela substituição de cada um dos operandos que a interface declara.
É possível utilizar as interfaces em diagramas de classe e diagramas de componentes para especificar um contrato entre a interface e o classificador que realiza a interface. Cada interface especifica um conjunto de operações bem definido que possui visibilidade pública. As assinaturas da operação informam aos classificadores de execução que tipo de comportamento deve chamar, mas não como eles devem chamar esse comportamento. Muitos classificadores podem executar uma única interface, cada uma fornecendo uma execução exclusiva.
As interfaces suportam a ocultação de informações e a proteção de código do cliente pela declaração pública de determinados comportamentos ou serviços. As classes ou componentes que realizam as interfaces pela execução desse comportamento simplificam o desenvolvimento de aplicativos porque os desenvolvedores que gravam código do cliente precisam conhecer apenas as interfaces, não os detalhes da execução. Se você substituir classes, ou componentes que implementem interfaces, em seu modelo, não será necessário fazer um novo design do aplicativo se os novos elementos do modelo executarem as mesmas interfaces.
É possível especificar os seguintes tipos de interfaces:
Normalmente, uma interface possui um nome que reflete a função exercida em um aplicativo. Uma convenção comum é prefixar o nome da interface com uma barra para indicar que um elemento de modelo é uma interface.