The term abstract data type or ADT is a set of possible values and a set of operations on those values, without any specification of how the values are to be represented or how the operations are to be implemented. Ordered list of strings is an abstract data type.
Advantages of Abstract data types are:
- Representation Independence: The use of an abstract type is independent of its representation so that changes in representation have no effect on code outside the abstract type itself. E.g., the operation offered by List is independent of whether the list is represented as a linked list or as an array.
- Code is easier to understand. Programmers using the ADT only need to understand the operations, not the details of the implementation.
- It is possible to use ADTs in many different programs.
- For developers, the main advantage is ADT can be altered without changing the actual program.
- Debugging is easy because bugs are local to the representation and implementation of ADT. It is not related to codes that use ADT.
- The change in the implementation of ADT is necessary if the representation is changed, the code is not affected.