An interface is an idea found in Java, and in a few other languages. An interface is similar to a class, but it defines no bodies for the methods being defined. Later, a class can declare it supports a given interface, and at that point it must provide a method definition.
We will have much more to say about interfaces later, when we discuss inheritance in detail.