Function overloading can be defined as a feature in object oriented programming that enables us to define multiple methods within the same class, with these multiple methods have same name but different parameter types and list, for example the first method can take two parameters and the second method though having the same name can be a function taking three parameters.