interface

An interface is used to define an abstract type that contains no data but defines behaviours as method signatures. 
An interface is a contract between a class and the outside world. When a class implements an interface, it promises to provide the behavior published by that interface.