Interfaz (programación)
Una lista de métodos que una clase se compromete a tener, sin decir cómo los hace: un contrato que permite tratar igual objetos distintos.
Una interfaz declara qué se puede hacer (por ejemplo, «calcular el área») pero no cómo. Cada clase que la implementa escribe su propia versión.
Así, una función que recibe «cualquier figura» funciona igual con círculos que con rectángulos. En Rust se llaman traits; en Go se cumplen sin declararlo, con solo tener los métodos.
Un ejemplo
Una interfaz MetodoDePago con el método cobrar() permite añadir Bizum o tarjeta sin tocar el código del carrito.