overloading vs overriding code example

Example 1: what is method overloading and method overriding in Java?

Method overloading is providing two separate methods in a class with the same name but different arguments, while the method return type may or may not be different, which allows us to reuse the same method name.

Method overriding means defining a method in a child class that is already defined in the parent class with the same method signature, same name, arguments, and return type

Example 2: overloading vs overriding

Method Overloading 
Method overloading is providing two separate methods in a class 
with the same name but different arguments, while the method return type 
may or may not be different, which allows us to reuse the same method name.
1) Method Overloading occurs with in the same
class
2) Since it involves with only one class inheritance
is not involved.
3)In overloading return type need not be the same 
4) Parameters must be different when we do
overloading
5) Static polymorphism can be acheived using
method overloading
6) In overloading one method can’t hide the
another

Method Overriding
Overriding means same method name and same parameter, 
occur in different class that has inheritance relationship. 
we use method overriding to implement specific functionality to the method.
1) Method Overriding occurs between
two classes superclass and subclass
2) Since method overriding occurs between superclass
and subclass inheritance is involved.
3) In overriding return type must be same.
4) Parameters must be same.
5) Dynamic polymorphism can be acheived using
method overriding.
6) In overriding subclass method hides that of the
superclass method

Example 3: overriding vs overloading

Method Overloading 
Method overloading is providing two separate
methods in a class with the same name but
different arguments, while the method return type 
may or may not be different,
which allows us to reuse the same method name.
1) Method Overloading occurs with in the same class
2) Since it involves with only one class inheritance
is not involved.
3)In overloading return type need not be the same 
4) Parameters must be different when we do
overloading
5) Static polymorphism can be acheived using
method overloading
6) In overloading one method can’t hide the another

Method Overriding
Overriding means same method name and same parameter, 
occur in different class that has inheritance relationship. 
we use method overriding to implement
specific functionality to the method.
1) Method Overriding occurs between
two classes superclass and subclass
2) Since method overriding occurs between superclass
and subclass inheritance is involved.
3) In overriding return type must be same.
4) Parameters must be same.
5) Dynamic polymorphism can be acheived using
method overriding.
6) In overriding subclass method hides that of the
superclass method

Example 4: difference between overloading and overriding

Method Overloading 
Method overloading is providing two separate methods in a class 
with the same name but different arguments, while the method return type 
may or may not be different, which allows us to reuse the same method name.
1) Method Overloading occurs with in the same
class
2) Since it involves with only one class inheritance
is not involved.
3)In overloading return type need not be the same 
4) Parameters must be different when we do
overloading
5) Static polymorphism can be acheived using
method overloading
6) In overloading one method can’t hide the
another

Method Overriding
Overriding means same method name and same parameter, 
occur in different class that has inheritance relationship. 
we use method overriding to implement specific functionality to the method.
1) Method Overriding occurs between
two classes superclass and subclass
2) Since method overriding occurs between superclass
and subclass inheritance is involved.
3) In overriding return type must be same.
4) Parameters must be same.
5) Dynamic polymorphism can be acheived using
method overriding.
6) In overriding subclass method hides that of the
superclass method

Example 5: method overloading vs overriding

Method Overloading: 
Access modifier can be same or different, 
Return-Type can be same or different, 
Parameters MUST be different, Method name MUST be same, 
any method can be overloaded

Method Overriding:
After a method is inherited it is possible to change 
the implantation of the method in the child class. 
This concept is called overriding. Method name, 
Parameter, and Return-Type MUST be same
MUST happen in the sub class, access modifier MUST be same 
or more visible, ONLY the instance methods can be overridden
@Override annotation MUST be applicable. 
Static and Constructor cannot be override.
We can use the @Override annotation before the method 
to declare the overriding. This annotation will allow 
the compiler to help ensure the method is overridden correctly 
EXAMPLE: get method WebDriver driver = new ChromeDriver(); 
driver.get("URL") ==> opens the url from chrome