Абстракция данных
Абстра́кция да́нных в программировании, разделение свойств типа данных на абстрактные (возможные значения данных, операции над ними и семантика этих операций) и конкретные (заключающиеся в выборе представления для данных и способов реализации операций над ними). Абстрактные свойства гарантируются при использовании типа в программе-клиенте, тогда как конкретные могут выбираться реализацией и меняться по необходимости, не затрагивая клиентскую программу.
Например, хранилище целых чисел в качестве абстрактных свойств обеспечивает операции вставки, удаления и поиска чисел в хранилище. Реализация хранилища может быть выполнена с использованием различных структур данных (массива, списка, двоичного дерева поиска, хеш-таблицы); при этом программа, использующая хранилище и полагающаяся только на абстрактные свойства, не потребует изменений при замене одной реализации на другую.
См. также статьи: Объектно ориентированное программирование, Абстракция.