Dynamic Binding refers to the case where compiler is not able to resolve the call and the binding is done at runtime only. Let's try to understand this.
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 Practical.java which contains three classes in it.
the main class named Practical
a class named Multiple
a class named Division.
So we try to compile the program with java compiler. Now, notice there are 3 .class files created in your current working directory. as
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.