We tour the standard library, looking at a few important class and interface hierarchies
Overloading a method is creating a separate method with the same name but different argument types. Overloaded methods are unrelated to each other. You can think of the argument types as part of the method name.
Overriding a method is reimplementing a method in a subtype (with the same name and arguments).
We did an extensive demo with overloading and overriding. See the notes in the demo code.
Take a look at the following types: