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.