This document discusses method overloading in Java. It defines a method as a collection of statements that perform an operation. A method has a header specifying its modifiers, return type, name, and parameters. The body contains the statements. Method overloading allows multiple methods with the same name but different signatures. Signatures can vary by parameter types, numbers, or orders. Overloaded methods use static binding at compile time. The example shows two Addition methods differentiated by an extra parameter, with the correct one called based on arguments.