Thus, we develop each data structure as an abstract data type that defines both data organization and data handling operations. Just as a reminder, the ADT is a model that basically describes an interface between a user and the data.
Data abstraction is then the central concept in a program design, as the abstraction defines the domain and structure of the data, along with a collection of operations that access the data.
The abstraction creates a user-defined data-type whose operations specify how the user may manipulate the data.