What is the Difference Between Dynamic Binding and Message Passing

The main difference between dynamic binding and message passing is that the dynamic binding is a method of linking a procedure call with the relevant code at runtime while the message passing is a method of exchanging messages between objects.

Object-Oriented Programming (OOP) is a major programming paradigm which allows modeling the real-world scenarios in computing. Moreover, this makes programs reusable and manageable. In OOP, an object has attributes and methods. An attribute defines the properties while methods define the behaviors. Most high-level programming languages support OOP features; dynamic binding and message passing are two such features. 

Key Areas Covered

1. What is Dynamic Binding
     – Definition, Functionality
2. What is Message Passing
     – Definition, Functionality
3. What is the Difference Between Dynamic Binding and Message Passing
     – Comparison of Key Differences

Key Terms

Dynamic Binding, Late Binding, Message Passing, OOP

Difference Between Dynamic Binding and Message Passing - Comparison Summary

What is Dynamic Binding

Dynamic binding is the method of linking procedure call with its code at the time of executing the code. In other words, it occurs at runtime. Dynamic binding is also called late binding. An example is as follows.

Difference Between Dynamic Binding and Message Passing_Figure 1

Figure 1: Shape class

Difference Between Dynamic Binding and Message Passing_Figure 2

Figure 2: Circle class

Main Difference - Dynamic Binding vs Message Passing

Figure 3: Triangle class

Difference Between Dynamic Binding and Message Passing

Figure 4:  Main method

Shape class has a draw method while class Circle and Triangle extends Shape class. Therefore, Shape class is the parent class, and Circle and Triangle classes are child classes.  These classes also have a ‘draw’ method with their own implementations.

In the main method, s is a reference variable of type Shape. First, s points to the object of type Shape. Thus, it invokes the draw method of Shape class. Then, s points to the object of type Circle. Therefore, it invokes the draw method of Circle class. Finally, s points to the Triangle object, and it will invoke the draw method of Triangle class. Different draw methods execute at the runtime. Even though the reference variable is of type Shape, the binding occurs accordingly at runtime. Hence, this is called dynamic binding.

What is Message Passing

Message passing is the method of exchanging messages among objects. Objects can send and receive messages between themselves similar to humans. In programming, functions or methods help to pass messages. In addition to OOP, message passing occurs between processes and other resources in interprocess communication and parallel computing.

Message passing can be synchronous or asynchronous. In synchronous message passing, the sender and receiver have to wait for each other when exchanging messages. In asynchronous communication, it is not necessary to wait for each other to pass the message. They can perform their own computations while transferring messages.

Difference Between Dynamic Binding and Message Passing

Definition

Dynamic binding is the method of linking a procedure call to the relevant code that will be executed only at runtime while message passing is the method of exchanging message between objects in Object Oriented Programming. Thus, this is the main difference between dynamic binding and message passing.

Usage

Another difference between dynamic binding and message passing is that dynamic binding allows executing different codes using the same object at runtime while message passing allows developing communication between objects.

Conclusion

The main difference between dynamic binding and message passing is that dynamic binding is the method of linking a procedure calls with the relevant code at runtime while message passing is a method of exchanging messages between objects.

Reference:

1. Fighters, Technology. Concepts of Object-Oriented Programming – Dynamic Binding, Technology Fighters, 9 Nov. 2017, Available here.
2. “Message Passing Definition and Information.” IT Definitions, 26 Dec. 2014, Available here.

About the Author: Lithmee

Lithmee holds a Bachelor of Science degree in Computer Systems Engineering and is reading for her Master’s degree in Computer Science. She is passionate about sharing her knowldge in the areas of programming, data science, and computer systems.

Leave a Reply