Interface and its usage
Interface is similar to a class which may contain method's signature only but not bodies and it is a formal set of method and constant
declarations that must be defined by the class that implements it. Interfaces are useful for declaring methods that one or more classes
are expected to implement, capturing similarities between unrelated classes without forcing a class relationship and determining an object's
programming interface without revealing the actual body of the class.