The following table summarizes the differences between method overriding and method overloading:
| Method Overriding | Method Overloading |
|---|---|
| Arguments of overridden methods cannot be changed. | Arguments of overloaded methods can be changed. |
| Method return types cannot be changed except covariant return types. | Return types can be changed. |
| Exceptions must not throw new or broader checked exceptions. | Exceptions can be changed. |
| It happens at runtime. | It happens at compile-time. |
| An object type determines which method is selected. | A reference type determines which method is selected. |
Responses to “What are the differences between method overriding and method overloading?”