Method overloading is an example of runtime binding. The compiler decides which method should be called only at compile time. So this is compile-time polymorphism, or you can say static binding. But overriding a method is a run-time polymorphism, bcz at runtime, depending on the reference to the object, the method call is allowed.
source
share