Interfaces
We've used the term interface to mean the set of service methods provided by an object
That is, the set of methods that can be invoked through an object define the way the rest of the system interacts, or interfaces, with that object
The Java language has an interface construct that formalizes this concept
A Java interface is a collection of constants and abstract methods