Difference Between Overloading and Overriding in Java | Overloading vs Overriding

By Mohit Uniyal|Updated : May 3rd, 2022

Difference Between Overloading and Overriding in Java: In OOP or object-oriented programming, Java programming language is known to be very efficient. Java helps in simplifying various complicated programs. Overloading and overriding are the important concepts of the Java programming language and are used for the implementation of polymorphism. 

Polymorphism is the availability of two morphs in the same category. Here we will first discuss what is overloading method and overriding method in Java thereafter we will see the difference between overloading and overriding based on various aspects. 

Table of Content

What  is Method Overloading in Java?

Method overloading in Java is used to allow polymorphism on the basis of argument or argument types. It is also known or related to compile time polymorphism. In this return type can not be overloaded. Static methods can be overloaded but arguments shall be different. 

Overloading in Java can not be done if difference between them is the static keyword only. Two methods with different parameters can be overloaded in the Java. It is used because it saves effort of using same function without defining it over and over again. 

What is Method Overriding in Java?

It is also another method to allow polymorphism in Java programming language.  It is used when parent class or base class already provided the method and we want to implement that method again by overriding it. 

A child class calls method will override the parent class method if it again called the method. In the final method, overriding in Java programming language is not supported. 

Let us now see the Overriding vs Overloading in the next section to know better comparison of the two methods.

Difference Between Overloading and Overriding in Java

In the table provided below we have mentioned the difference between overloading and overriding in Java programming language based on the various factors.

Overriding vs Overloading

Method OverridingMethod Overloading
Overriding of the already given method by parent cass.Readability of the program is enhanced.
Overriding needs same parameters to execute the function called.In this, parameters must be different.
Runtime polymorphism.Compile time polymorphism. 
Multiple class performance.Same class performance of the method.
It occur between subclass or superclass.Occur ion the same class.
It is used to provide better performance.Does not provide as good of the performance as overriding.


write a comment


  • The major difference between Overloading and Overriding in Java is that overriding is known as a runtime polymorphism method whereas overloading is compile-time polymorphism.

  • Method overriding or otherwise known as runtime polymorphism is the method to allow polymorphism in a program which will save time and improves the efficiency of the function. It is used when a method is already defined by the parent class and it is being called again.

  • Method overloading is a technique to allow polymorphism in the program. It allows the polymorphism on the basis of arguments. It requires two methods of different parameters to be overloaded.

  • Yes, Java supports overloading and overriding in the program. These methods are widely used in Java to provide polymorphism. In Java programming language Overriding is preferred over overloading.

  • In Java programming language, for better performance overloading is preferred whereas for overriding is used when polymorphism is required in the run time.

Follow us for latest updates