読み方 : ちゅうしょうデータがた
抽象データ型【ADT】Abstract Data Type
概要

整数や文字列などの基本的な型を組み合わせたデータ構造の形式と、そのデータに対して実行できる演算や処理を関数などの形でまとめて定義する。この型の変数を宣言すると、定義された構造に従ってメモリ上に格納領域が確保され、定義済みの操作のみを通じてデータにアクセスできる。
利用者はデータが内部でどのように保持されているかを知る必要がなく、公開された操作の手続きを呼び出すだけでよい。内部の実装方法が変更されても、利用側のプログラムに影響が及ばない。この性質を「情報の隠蔽」または「カプセル化」と呼ぶ。
代表的な例が「スタック」(stack)である。スタックは「後入れ先出し」(LIFO:Last-In First-Out)の規則でデータを扱う構造で、要素を追加するプッシュ操作(push)と、取り出すポップ(pop)操作を持つ。プログラム上は配列や連結リストなどで実装されるが、抽象データ型としてまとめて定義しておけば、利用者はどの方式で実現されているかを意識せずに操作を呼び出せる。同様に、キューや連結リスト、辞書(ディクショナリー)なども抽象データ型として設計されることが多い。
オブジェクト指向プログラミングにおけるクラスは、抽象データ型を具現化・拡張した仕組みである。クラスはデータ(フィールド)と操作(メソッド)をひとつの単位にまとめ、インターフェースと実装を分離するという抽象データ型の考え方をそのまま踏襲している。抽象データ型の概念は1970年代から提唱され、その後の言語設計やライブラリ設計に影響を与えた。
(2026.6.25更新)