În programarea computerelor, există multe tipuri de variabile, funcții și tipuri de date. Un tip de date abstract este o variabilă care se poate modifica în funcție de condițiile din program. Acesta este un model de programare orientat pe obiecte care permite reutilizarea codului prin crearea unui strat de abstractizare. Acest tip de date este adesea folosit în limbajele de programare C++ și Java® și este considerat o tehnică avansată de dezvoltare.
Un tip de date abstract este considerat cel mai mic numitor comun al unui set specific sau structurii de date. Acest tip de date ar trebui să includă operațiuni de bază pentru a permite modificarea valorilor datelor în cadrul acelei structuri. Tipul de date poate fi folosit de tipuri de date similare prin moștenire, ceea ce face ca operațiunile să fie extensibile la descendenți.
Un exemplu care este adesea folosit pentru a descrie tipurile de date abstracte sunt obiectele listă și coadă. Acestea sunt obiecte care mențin informațiile într-un mod liniar, similar unei foi de calcul cu date. Atât o listă, cât și un obiect coadă gestionează seturi de date și folosesc funcții pentru a manipula acele date. Prin crearea unui tip de date abstract pentru a gestiona seturi de date, atât obiectul listă, cât și obiectul coadă pot folosi aceleași funcții de sortare.
Abstracția se referă la idei care sunt virtuale sau incomplete. Un tip de date abstract este un tip de date care este o formă schelet a unei structuri de date reale. Este conceput ca un schelet pentru a permite reutilizarea funcțiilor pe baza nevoilor specifice ale programului.
Un tip de date abstract nu poate fi utilizat fără a-l atribui mai întâi unui tip de date concret. Aceasta este o structură de date schelet precursor care trebuie convertită într-un tip de date real atunci când este creată. Scheletul este apoi folosit prin accesarea funcțiilor disponibile în implementarea concretă moștenită. Clasa abstractă definește interfețele și funcțiile care pot fi utilizate de clasele descendente.
Abstracția în software face ca programul să fie mai flexibil pentru modificările viitoare. Acest strat de abstractizare oferă o zonă pentru funcții generice care urmează să fie create și utilizate în întreaga aplicație. Limbajul de programare Java® realizează acest lucru prin interfețe și metode funcționale în stratul abstract.
Tipul de date abstract poate fi folosit și în implementarea bazei de date obiect. Acesta este un design de bază de date ierarhică care se bazează pe obiecte și pe relații părinte-copil. În cadrul bazei de date de obiecte, principiile și tipul de date abstracte pot lua mai multe forme. Acest lucru permite stocarea mai multor tipuri de date în structura bazei de date.