Explain the difference between Method Overloading and Method 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: 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
Example 3: 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.