An interface is a contract that defines WHAT must be done, not HOW.
It contains method declarations (no body) that the class must implement.
π‘ Think of an interface as a 100% abstract blueprint.
Example (real world):
A βRemoteControlβ interface defines:
Different devices implement it differently.
Interfaces provide:
β Total abstraction
β Loose coupling
β Multiple inheritance
β Flexible architecture
β Standard rules for classes
Java cannot do multiple inheritance with classes, but it can with interfaces.