Polymorphism vs method overloading

There have many definition about polymorphism and overloading. Some people said that overloading is one type of polymorphism. While some people said, they are not the same. Because only one function will be allocate in overloading. While the polymorphism need allocate the memory for each redefined member function. Most of the time new bee programmers are confused about it.


Polymorphism and Overloading are two types of functions that are used in OOP. These are often confused as synonyms because of their similarity in functioning. However, these two are different functions and are used to yield different results.


The word itself explains the clear meaning. 'Poly' means multiple, while 'morphism' means the process of gradual change from one form to another. Polymorphism feature allows the user to handle different data types and functions with a uniform interface. Thus, same thing will have different forms. Technically, Polymorphism is way of implementing Single Interface in multiple Implementation. Polymorphism is a general term which refers to both overloading and overriding.