Abstract data types are defined as a set of objects together with a set of operations on these objects. Contrast these with data structures, which are implementations of ADTs.
For example, the stack ADT has operations
push(v)andpop(). We can implement with a linked list or array.