An «AbstractDataType» declares that you have provided or prohibited all needed operations to maintain the consistency of the type. An ADT has some mathematical or architectural ABSTRACTION in mind.