In
computer science, an
abstract data type (
ADT) is a
mathematical model for
data types where a data type is defined by its behavior (
semantics) from the point of view of a
user of the data, specifically in terms of possible values, possible operations on data of this type, and the behavior of these operations. This contrasts with
data structures, which are concrete representations of data, and are the point of view of an implementer, not a user.