What is run time polymorpism and complie time polymmorpism

Questions by yaduvancy   answers by yaduvancy

Showing Answers 1 - 25 of 25 Answers


  • Feb 10th, 2006

Overloading is compile time polymorphism, because compiler checkes the method sigantures while compiling itself.(i. e: Method names, Argument types, argument creation order, etc...)

Overriding is run time polymorphism.

Atul Singh Chauhan

  • Feb 16th, 2006

In run time polymorphism  compiler does't know about way of execution of program,that mean decide way of execution at run time, while in compile time polymorphism compiler know about the way of execcution of program.

eg compile time polymorphism -- method overloding

    run time time polymorphism -- method overriding

  Was this answer useful?  Yes

samba siva chowdary

  • Apr 10th, 2006

Overloading is the instance for comple time polymorphism overriding is the instance for run time polymorphism

I sincerly request the people not to give the comments with out having proper knowledge on the topic.

  Was this answer useful?  Yes

satheesh kumar. sriramaneni

  • May 5th, 2006

Overloading related to compile time polymorphism.

Overriding related to run time polymorphism.

  Was this answer useful?  Yes

Faheem Lari

  • May 25th, 2006

hi friend

run time polymorpism is overriding

compile time polymorpism  is overloading 

  Was this answer useful?  Yes

Anil Kanike

  • Jun 6th, 2006

Overloading is compile time polymorphism also called early binding.

Overriding is runtime polymorphism also called late binding.

  Was this answer useful?  Yes

suryakanta mahapatra

  • Jun 14th, 2006

The correct answer is:

Overloading - Compile time polymorphisim

Overriding - Runtime polymorphisim

  Was this answer useful?  Yes


  • Jul 24th, 2006


overloading is related to compile time polymorpism->method overloading

overriding is related to run time polymorpism->method over riding 

  Was this answer useful?  Yes

siva kuma reddy

  • Aug 9th, 2006


static polimorphisam is exibites at compile time.it is also called early binding.

dynamic polimorphism is exibites at run time ,it is also called late bindind

actually in c++:

method overloading is static polymorphisam

method overriding is dynamic polymorphism

in java:

method overloading and overriding are examples per dynamic polymorphisam only.



  Was this answer useful?  Yes


  • Aug 16th, 2006

Overloading is a Compile time Polymorpism.Overriding is a Run time Polymorpism.

  Was this answer useful?  Yes


  • Aug 17th, 2006

Overloading is compile time polymorphism (not run time) & overriding is run time polymorphism(not compile time).

Namita Mishra

  Was this answer useful?  Yes


  • Oct 5th, 2006

Hi all,

Very clearly i can say that,

Compile time polymorphism (Static binding, Early binding) is : All Overloading only.

Run time polymorphism (Dynamic binding, late binding) is :  Overriding only.

I hope it will satisfy you.

Thanks & Regards

Deepesh Gupta

urdeepesh @ gmail.com

  Was this answer useful?  Yes


  • May 3rd, 2007

I would request all to answer only of they are 100% or even more than that sure for the answer they give...people are going to read this to prepare for their interview...dont teach wrong...right?

In late binding the method which is to be called is decided at the runtime, so accordingly in a way, in overriding the decision that method of which class is to be called is decided at runtime, hence it is runtime.

In overloading the method defination, availability based on the parameters passed in the method call is checked at compile time only, so binding is done as such at compile time only, this is early bindling, hence it is compile time.

  Was this answer useful?  Yes

sateesh B

  • Aug 13th, 2007

I agree with siva

in java method overloading and overriding are examples for dynamic polymorphisam only, also called dynamic binding

  Was this answer useful?  Yes

Raj Tech

  • Aug 25th, 2007

I am from .net and i am totally agreeing with siva a.k.a. Polymorphism comes with two flavors.Overriding/Overloading.

Overriding :Derviced classes methods can override the base methods through inheritance.

Overloading :Ex:Operator overloading

What happens at Compile time :compile time will check for the validity of the callers .per se

class person

class employee:person

class main
person p=new employee();
p.computesal();''valid compile time itself as it's pointing to the valid object from the inheritance heirarchy.Assume this method is  overridden method.

hope everybody agrees that overloading is compile time.so i am not giving any example here.

I thought of giving the example for the siva's comment and don't want pto let any user come under any false impression before going t any interview.

  Was this answer useful?  Yes


  • Sep 17th, 2007

Right answer is:

Overloading is Compile time Polymorphism
Overriding is Run time Polymorphism

  Was this answer useful?  Yes


  • Feb 13th, 2008

Compile time polymorphism =Method overloading
Runtime polymorphism=Method overriding +dynamic dispatch

  Was this answer useful?  Yes

Hi  every body

Overloading is Compile time Polymorphism
Overriding is Run time Polymorphism

Please dont  confuse  everything 

Mail  me  for any  questions   and  my  id  is   sv.vgayathri@gmail.com

  Was this answer useful?  Yes

I think siva got it correct. There is no such thing exists as compile time polymorphism.
Unless otherwise you run a program how does it (JRE) actually know, what to do? I mean without executing the program (be it in Java or C or C++ or any language, for that matter) there is nothing really the run time environment do about it. The Java compiler does not execute the program, but JRE does. I mean, only after executing we do know wether it is exihibitng the right behaviour or not. So it is dynamic polymorphism that exists in Java, nothing else.

  Was this answer useful?  Yes

divya mishra

  • Dec 20th, 2013

compile time polymorphism is also called method overloading, early binding and static binding . in this compiler checks the signature of methods.

In run time polymorphism its decide which function is to call. it is also called method overriding, late binding, and dynamic binding.

  Was this answer useful?  Yes


  • May 13th, 2014

run time polymorphism is achieved by virtual function and inheritance whereas compile time polymorphism is achieved by functions and operator overloading.

  Was this answer useful?  Yes


  • Aug 6th, 2014

My understanding for computer science is variable bind at compile time and method bind at run time, then what is meaning of method overloading and overriding.

  Was this answer useful?  Yes


  • Mar 29th, 2015

Run time polymorphism in java is method overriding. At compile time the compiler just checks for the existence of the overriding method if the signature, return type and name of the method matches or not but at the run time the JVM actually decides which method to call. The meaning is there can be two calls to the methods on difference objects so which to call is decided at run-time. Compile time polymorphism is something that is determined at compile time as in the compiler knows which to call when methods are overloaded looking at their signature,returntype and name.

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

Answer Question

Click here to Login / Register your free account

Send   Reset


Related Answered Questions


Related Open Questions