abstract data type (ADT)
An abstract data type is the description of a data type by a summary of value ranges and applicable operations. Only syntactic and semantic properties, the signature and algebra of an abstract data type, are defined.
From the internal data structure and the implementation of the operations is abstracted, so that to an abstract data type several implementations are possible, which must satisfy however all the signature and algebra. In object-oriented languages abstract data types can be described by classes, mostly however only under consideration of syntactical characteristics, like e.g. uniqueness of identifiers and definition of the types of attributes and arguments of the methods.