Polymorphism is the capability of a method to do different things based on the object that it is acting upon.
In other words, polymorphism allows you define one interface and have multiple implementations.
It is a feature that allows one interface to be used for a general class of actions.
An operation may exhibit different behavior in different instances.
It plays an important role in allowing objects having different internal structures to share the same external interface.
Polymorphism is extensively used in implementing inheritance.