Method Overriding: Method overriding occurs when a subclass provides its own implementation for a method that is already defined in its superclass. This allows for customization of behavior specific to each subclass.
Dynamic Binding: Dynamic binding refers to determining which implementation of an overridden method should be called at runtime based on the actual type of the object rather than its declared type. It allows for flexibility in method invocation.
Interface:An interface is a collection of abstract methods that define a contract for classes to implement. It enables polymorphism by providing a common set of methods that different classes can implement.