A contract that specifies a set of methods a class must implement.
In Dart, an interface is like a promise. It says, "Hey, if you want to be my type (class), you must do these things (implement these methods)." Interfaces make sure that classes that claim to be of a certain type actually behave like that type.