Polymorphism means same operation can be defined in multiple forms.
There are two types of polymorphism:
Compile Time & Run-time polymorphism
Example of Compile Time polymorphism:- Method Overloading
It means having two or more methods having same name but different signature.
-the methods can be in the same class or different class (inherited).
-constructor overloading is also possible.
-it is not mandatory to have different return type, but either the number of parameters or parameters type should be different.
Example of Run time Polymorphism:- Method Overriding
Two or more methods with same signature but different implementation but in different class (base & inherited).
eg:- Using New & Override