1. What best describes an interface in object-oriented programming?
An interface defines a set of methods (and sometimes constants) that implementing classes must provide. It describes what behaviour a class must offer without specifying how that behaviour is implemented. This enables loosely-coupled design and polymorphism.