Polymorphism means "any forms." In object-oriented programming, it refers to the capability of objects to react differently to the same method. Polymorphism can be implemented in the Java language in the form of multiple methods having the same name. Java code uses a late-binding technique to support polymorphism; the method to be invoked is decided at runtime.
Overloaded methods are methods that have the same name, but different argument lists.
Overriding, on the other hand, occurs when a subclass method has the same name, same return type, and same argument list as the superclass method.
Overloading
As we mentioned, it is mandatory for overloaded methods to have the same names but different argument lists. The arguments may differ