The ability to define multiple functions or methods with the same name but different parameters (number, types, or order). The compiler or interpreter chooses which version to use based on the arguments provided.
From 'over-' (beyond, excessive) + 'load' (to burden with weight). The term emerged in the 1980s, describing how a single function name could be 'loaded' with multiple different implementations, going 'over' the normal one-name-one-function rule.
Function overloading is like having multiple tools all called 'screwdriver' - you have a Phillips screwdriver, flathead screwdriver, and electric screwdriver. When you ask for a 'screwdriver,' the context (what type of screw you're holding) determines which tool you get!
Complete word intelligence in one call. Free tier — 50 lookups/day.