En programmation orientée objet, une interface est un ensemble de signatures de méthodes publiques d'un objet.
Il s'agit donc d'un ensemble de méthodes accessibles depuis l'extérieur d'une classe, par lesquelles on peut modifier un objet, ou plus généralement communiquer avec lui. Pour rappel, la différenciation entre méthodes publiques et méthodes privées introduit une abstraction qui :
Selon le langage de programmation, l'utilité, la portée et la manière de décrire une interface, varient. Néanmoins il est commun à toutes les interfaces de déclarer chacune de leurs méthodes sous la forme d'une signature :
La sémantique de cette signature dépend aussi du langage.