What is an Abstract Data Type (ADT)?
Abstract Data Type (ADT): A mathematical model for a data type, defined by its behaviour (the operations it supports and their semantics) rather than by its implementation. An ADT specifies what can be done with data, not how it is done internally.
Think of an ADT as a contract or blueprint. When you use a Stack ADT, you agree that you can push items on, pop items off, and peek at the top , but you don't care whether the underlying code uses an array or a linked list to make that happen.
This separation is one of the most powerful ideas in computer science: it lets you think at a higher level when designing software, and swap implementations later without breaking anything that depends on the ADT.
An ADT is like a vending machine interface. You press a button and get a snack , you don't need to know the internal mechanism that delivers it. The buttons (operations) are defined; the machinery (implementation) is hidden.