Um tipo de dados abstrato, do Inglês Abstract Data Type - ADT, é um tipo de dados ( conjunto de valores e uma colecção de operações sobre esses valores ) que está acessível a programas clientes apenas através das operações disponíveis na sua interface.
Num ADT a representação dos dados e funções que implementam as operações estão completamente separadas do cliente pela interface. Diz-se que a interface é opaca, já que o cliente não pode ver a implementação através dela.
Exemplos de ADT'S: