Method overloading occurs when a class has two or more methods with the same name but different parameters. It allows a class to define multiple methods that can be called by the same name but accept different parameters. An example is provided of a class with an "Add" method that sums two integers, three integers, and two doubles - demonstrating how method overloading works with different parameter types but the same method name. If two methods have the exact same parameters, it results in a compilation error.