Open In App

Difference between Abstract Data Types and Objects

Improve
Improve
Like Article
Like
Save
Share
Report

1. Abstract data type (ADT) :
An Abstract data type (ADT) is a mathematical model for data types. We can think of Abstract Data Type as a black box. As black box hides internal structure, ADT hides the design of data type. An abstract data type’s behavior (semantics) can be specified from the perspective of a data user, specifically in terms of potential values, potential operations on this type of data, and the behavior of these operations. It is user defined data type.
It is a conceptual abstraction defined that represent data and data operations. Abstract Data Types are concerned with what, not how (they are expressed decoratively, and they do not specify algorithms or data structures). Examples include lists, stacks, queue, and sets.

2. Objects :
Objects are not the only way to achieve abstraction. It implements procedural data abstraction, as known by many. Abstract data types approach abstraction in a different way. When we define a class, no memory is allocated but when we instantiate (i.e. An object is created) memory is allocated.
An object is an instance of a class, with its own copy of any non-static variables.

Difference between Abstract Data Types and Objects :

Abstract Data Type

Objects

Abstract data type is abstraction that define set of values and set of operations on these values. It is a self-contained component which consists of methods and properties to make certain type of data useful.
User-defined data type. It is an instance of class.
ADT is made of with primitive datatypes. An object is an abstract data type with the addition of polymorphism and inheritance.
It is a type (or class) for objects whose behaviour is defined by a set of value and a set of operations. It is a basic unit of Object-Oriented Programming.
 Abstract datatype is not necessarily an OOP concept. Objects is an OOP concept.
Common examples include lists, stacks, sets, etc.

Objects have states and behaviours  

Test t = new Test();.

Allocate memory when data is stored. When we instantiate an object then memory is allocated.

 


Last Updated : 29 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads