Abstract data type (ADT) คือ เซต (set) ของออปเจ็กต์ (objects) ที่ประกอบด้วยเซตของการดำเนินการ (operations) Abstract data types เป็น mathematical abstractions; กล่าวคือในนิยามของ ADT ไม่ได้แสดงให้เห็นถึงวิธีการทำงานของ operations ต่าง ๆ ว่าการทำงานของมันเป็นอย่างไร ออปเจ็กต์ เช่น lists, sets, และ graphs, รวมทั้ง operations ของมันถูกมองเป็น abstract data types ได้เช่นเดียวกับ integers, reals, และ booleans ที่มี operations ต่าง ๆ ผูกคิดอยู่กับมัน สำหรับ ADT ที่เป็น set อาจจะประกอบด้วย operations ดังเช่น union, intersection, size, และ complement
ไม่มีกฎเกณฑ์ที่จะกำหนดว่า ADT หนึ่ง ๆ นั้นจะต้องประกอบด้วย operations ใดบ้างแต่ขึ้นกับการตัดสินใจของผู้ออกแบบ ADT นั้นเอง นอกจากนี้กรรมวิธีที่จะใช้ในการจัดการกับ errors ต่าง ๆ ก็ขึ้นอยู่กับผู้ออกแบบโปรแกรมเองด้วย