Differences between Dynamic Binding and Message Passing in Java
Dynamic Binding: In Dynamic binding compiler doesn’t decide the method to be called. Overriding is a perfect example of dynamic binding. In overriding both parent and child classes have the same method. Dynamic binding is also called Late binding.
Message Passing in terms of computers is communication between processes. It is a form of communication used in object-oriented programming as well as parallel programming. Message passing in Java is like sending an object i.e. message from one thread to another thread. It is used when threads do not have shared memory and are unable to share monitors or semaphores or any other shared variables to communicate. Suppose we consider an example of producer and consumer, likewise what producer will produce, the consumer will be able to consume that only. We mostly use Queue to implement communication between threads.
Let’s see the differences between Dynamic Binding and Message Passing:
|Dynamic Binding||Message Passing|
|Binding refers to the linking of a procedure call to the code to be executed in response to the call.||The process of programming in which communication is involved is known as message passing.|
|It allows execution of different codes using the same object at runtime.||It allows developing communication between objects.|
|The usage of Dynamic binding to allow executing different codes using the same object at runtime.||It involves three basic steps. They are:||It is the method of linking a procedure call to the relevant code that will be executed only at runtime.||Message passing is the method of exchanging message between objects in Object Oriented Programming.||The code associated with the procedure is not known until the program is executed. This process is known as late binding.||Message passing involves name of the objects, the name of the function and the information to be sent.||A function call associated with a polymorphic reference depends on the dynamic type of that reference.||Communication with an object is feasible as long as it is alive.||In dynamic binding, only at run time the code matching the object under current reference will be called.||A message for an object is a request for execution of a procedure, and therefore invoke a function in the receiving object that generates the desired result.||In short, dynamic binding occurs during runtime.||Message passing occurs between two processes.||Dynamic binding is also known as dynamic dispatch, late binding or run-time binding.||Message passing is also known as message exchanging.||Object based programming does not support dynamic binding.||Object based programming support message passing.||Object oriented programming support dynamic binding.||Object oriented programming also support message passing.|
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.