title: does java support compile time polymorphism or not?
body: <p>according to my understanding, only virtual functions supports runtime polymorphism according to OOPS concepts and in java all functions except marked private, final, and static are virtual by default.</p>
  
  <p>so does it mean that, java does not support compile time polymorphism?</p>
  
  <p>and if it does, then can we assume that its a violation of OOPs  principles.</p>