Las interfaces simulan la herencia múltiple permitiendo que una clase implemente múltiples interfaces. Una interfaz define métodos abstractos que deben ser implementados por las clases que la implementan. Las interfaces se usan para establecer características comunes entre clases diferentes y asegurar que solo estén disponibles para las clases que las implementen, de manera similar a las clases abstractas.