Function overloading refers to defining two different functions in the same scope that have the same name.
These functions must different in their parameter lists - either in the number of parameters or in the parameter types.