In Object Oriented Programming an interface (also called Protocol) is a data type defining method signatures. A class can implement the interface (adopt the protocol).