| Overloading | Overriding |
| It happens at compile time. | It happens at runtime. |
| It adds or extend more to the method functionality. | It changes the existing functionality of the method. |
| Methods have different parameter list or type or the return type. | Methods have the same signature as the parent class method. |
| In overloading, static binding is happen. | In overriding, dynamic binding is happen. |