Introduction to OOP: Chapter 14 : Polymorphism
A single function name which is used to denote two or more function
bodies is said to be overloaded.
A common example occurs in almost all languages, where + means both integer
and floating addition.
Determination of which function to execute is made by examing the arguments.
Depending upon language and form used, can either be made at compile-time or
Should not be confused with overriding or refinement - functions need not
be related by classes.