The difference between abstraction and information hiding are described as follows:
Abstract data types can be defines as user defined data types in which data structure and its implementation is defined together. The data structure and the methods to manipulate the data structure are encapsulated in one unit and it can be complied at one time.
Both C++ and JAVA supports abstract data types along with information hiding as follows;-
• The data structure in ADT is accessible only to the code encapsulated with in it and hence the structure is made hidden from outside.
• To implement information hiding the code is divided into two sections-
Public- includes those data and members that can be accessed externally.
Private- includes those data and members that can be accessed by methods of ADT itself.
Thus, C++ and Java supports Abstract data type and issue of information hiding is solved by dividing the code section in public and private parts.
Dynamic binding is an approach in which the methods that are called and the actual method's code and parameters are binded at runtime. The compiler does not know which method to call and execute until runtime. It is also known as late binding or run time binding.
Inheritance is another concept of object oriented programming which supports reusability of the code. One class can be derived from another class and can share its common variables, methods and characteristics.
• Dynamic binding and inheritance are both important concept of OOP.
• Dynamic binding is mostly related to polymorphism and inheritance. It is used when many methods have same name or when many classes have different implementation of the same method.
• Dynamic binding selects the methods which have different parameters of different inherited classes at run time which are to be executed.
• Virtual function concept in inheritance is also implemented using dynamic binding.
Thus, dynamic binding can be implemented in any OOP language that may support inheritance or may not support inheritance because dynamic binding does not need inheritance for implementation binding but inheritance requires dynamic binding for its implementation.
There is no answer for this question