Runtime polymorphism or DYNAMIC method dispatch is a process in which a call to an overridden method is RESOLVED at runtime rather than at compile-time.
In this process, an overridden method is called through the reference variable of a SUPER class. The determination of the method to be called is based on the object being REFERRED to by the reference variable.