Answer:
There are two types of Polymorphism in Java:
- Compile-time polymorphism (Static binding) – Method overloading
- Runtime polymorphism (Dynamic binding) – Method overriding
We can perform polymorphism by Method Overloading and Method Overriding.
Compile Time | Runtime |
Methods of a class have the same name. Each method has a different number of parameters . It can have parameters with different types and order. | the subclass has method with the name as of a superclass method. It has the number of parametrs, type of parameters and the return type as of a superclass method. |
Method Overloading is to add to the method behavior. It can be extending to the method’s behavior. | Method Overriding is to modify the method’s behavior . |
Overloaded methods will not have same signature. | Overridden methods will have exactly the same signature. |
Inheritance is not need in this case. | Inheritance is reuqired. |