What is Dynamic Binding in Java?

We all would have heard about Dynamic binding which is one of the key features of Java. But very few knows what that exactly means. Let us see what dynamic binding means with the help of small example.

Dynamic binding is one of the distinguishing properties of Java. Instead of explaining the concept by usual definitions, let us try to figure out dynamic binding in Java practically.

Let us consider there is a java program named sample.java which contains three classes in it. 1. the main class named sample 2. a class named add 3. a class named sub.

So we try to compile the program with java compiler. Now, notice there are 3 .class files created in your current working directory. Namely

1. sample.class
2. add.class
3. sub.class

Why is this happening? We compiled a single java program but javac creates three .class files. The reason behind this is Dynamic Binding. The bytecodes(class files) are loaded and executed only at the run time and only when there is a necessity of the particular class. But in the case of c language hich does not support the dynamic binding concept, loads the entire code to execute no matter the particular piece of code is needed for the execution or not.

Also you cannot run the program without any one of the classes. For instance consider you deleted the add.class from the directory. And try to run the program and it will shows an error saying a supporting class is missing.


  • Do not include your name, "with regards" etc in the comment. Write detailed comment, relevant to the topic.
  • No HTML formatting and links to other web sites are allowed.
  • This is a strictly moderated site. Absolutely no spam allowed.
  • Name: