is a collection of abstract methods and constant properties in which one or more methods are specified