The ability to take a decision and thereby creating the binding is what gives you the name.
The Compile time polymorphism comes in such a way that the compiler is able to differentiate the exact version of code to invoke during the compile time itself. Rather, the compiler *can take a decision of which exact method to invoke* during the compile time itself.
This can be a little bit confusing, because most people actually mean *runtime polymorphism* when they talk about "polymorphism".
From my earlier reply and the response from others , i can say that the polymorphism doesnt get apply to the method oveloading with inheritance .
In Headfirst java book , i read a statement that the polymorhism and inheritance are nothing to do with overloaded methods. What does it mean?