The interface acts as a contract specifying how the object will behave as long as the code fulfills the contract we dont care how it works.
Defining a class does not result in creation of an object.
Declaring a variable of a class type creates an object. You can have many variables of the same type (class).
This is called instantiation
of the class, i.e. we create an
instance of the object.