En génie logiciel, un type abstrait est une spécification mathématique d'un ensemble de données et de l'ensemble des opérations qu'elles peuvent effectuer. On qualifie d'abstrait ce type de données car il correspond à un cahier des charges qu'une structure de données doit ensuite implémenter. Notons que la plupart des types abstraits décrivent généralement des structures récursives.