An Interface is an abstract type that includes a certain set of fields that a type must include to implement the interface.
Interfaces are useful when you want to return an object or set of objects, but those might be of several different types.
An interface specifies a set of fields that multiple object types can include