Overloading and overriding both fall under the concept of polymorphism, which is one of the essential features of OOP.
There is a significant difference between Method Overloading and Method Overriding in Java. Let us see:
OVERLOADING | OVERRIDING |
---|---|
It is performed at compile time. | It is performed at runtime. |
It is carried out within a class. | It is carried out with two classes having an IS-A relationship between them. |
Parameters do not remain the same in case of overloading. | The parameter must remain the same in case of overriding. |
You can perform overloading on static methods. | You cannot perform overriding on static methods. |
Overloaded methods use static binding. | Overridden methods use dynamic binding. |