to define two or more functions with the same name and in the same scope. Each function has a unique signature (or header), which is derived from: function/procedure name. number of arguments. arguments' type.
, it creates a brand new object, irrespective of whether one already exists. It creates a new object and stuffs the reference to that object inside the variable it has been given, overwriting any previous value (object) the variable held.