In terms of Java, when someone asks:
what is polymorphism?
Would overloading or overriding be
Polymorphism is a multiple implementations of an object or you could say multiple forms of an object. lets say you have class Animals
as the abstract base class and it has a method called movement()
which defines the way that the animal moves. Now in reality we have different kinds of animals and they move differently as well some of them with 2 legs, others with 4 and some with no legs, etc.. To define different movement()
of each animal on earth, we need to apply polymorphism. However, you need to define more classes i.e. class Dogs
Cats
Fish
etc. Then you need to extend those classes from the base class Animals
and override its method movement()
with a new movement functionality based on each animal you have. You can also use Interfaces
to achieve that. The keyword in here is overriding, overloading is different and is not considered as polymorphism. with overloading you can define multiple methods "with same name" but with different parameters on same object or class.