overloading means when you define more than one function
with the same name but different with its signature.
over ridding means give the modified defination of the
inherited functions or methods.
Overloading is nothing but compile time allocation where we
will come to know which method will be called. In this
method we can overload either a method or even operators
too.
Overridding is nothing but run time allocation. We being
programmers can let the program to deside which method
should be called during the execution. During comp time,
we will never come to know which object will call which
method. This can be achived by using VIRTUAL keyword.
Overloading: Same function or operator responds differently
on different types on inputs. This is done by defining a
function (including operator fn() definition) with the same
name but different argument list.
Overriding: Redefining any base class function in a
derieved class to work differently than what is defined in
the base class. So, now the same function called with same
argument list will behave differently when called on the
objects of base and derieved class.
Important: Which instance of function to bind with the
object depends on the type of object on which the function
is called and is decided on compile time. This is also
called early binding or compile time polymorphism.
Overloading means when we write diffrent fun. With the Same name & with diffrent singnature then it is called overloading . Overiding means both base & derived class has same name.
Overloading:-Writing Two or three methods with same name
but different parameters in same class,it is called
methodOverloading.
Overriding:-writing same methodname and parameters in
subclass and superclass with same return type,it is called
methodoverriding.
Difference
Method OverLoading
1. Same method name with different number of argument
2. Number of argument with different datatype
3. Each method may returns different type of value
4. All overloaded methods founds to be in one class.
Method OverRiding
1. Same method name with same number of argument
2. Number of argument with same datatype
3. Each method must returns same type of value
4. Each overrided method of base class founds in respective
derived class.
over loading : diff functns hvng same name are invoked
during the program whnever required by the programmer.
over ridding : gvs modified defination 2 d functns
Method Overloading is the method name looks similar but
return type and method arguement (inside parameter) differs.
Method Overiding is that the method name, arguements and
return type seems similar on both base and derived class.
(Sometimes we will add the additional code to the derived
class method also).