抽象データ型とは?ちゅうしょうでーたがた
抽象データ型とは、データの中身がどう作られているかを隠し、「そのデータに何ができるか」という操作の決まりだけを外に見せるデータ型。使う側は操作の名前と結果だけ知っていればよく、内部の作りを配列から連結リストに変えても呼び出す側のプログラムは書き換えずに済む。オブジェクト指向のカプセル化(データの中身を隠し、決めた操作だけで扱わせること)は、この考え方を言語の機能にしたもの。
最終更新:2026-10-09
基本情報を最短で暗記・合格する →背景
プログラムが大きくなると、あるデータの内部の並び方を別の部分が直接いじるようになり、1か所の変更が全体に波及して壊れやすくなった。「操作」と「作り」を切り離せば、作りを変えても操作の約束さえ守れば他は影響を受けない。科目Bのデータ構造の問題ではスタックやキューが「push・pop」「enqueue・dequeue」といった操作だけで与えられるので、この考え方が読解の前提になる。
具体例
Javaの Deque(両端キュー)というインタフェースは push・pop といった操作だけを決めており、実装には配列を使う ArrayDeque と連結リストを使う LinkedList がある。呼び出す側はどちらに差し替えても書き換えずに済む。Pythonのlistも、内部の格納方法を知らなくても append と pop だけで扱える。
試験での引っ掛け
「抽象データ型=抽象クラス」ではない。抽象データ型は「操作の仕様と実装を分ける」考え方であって、Javaの abstract のような特定の文法を指すのではない。また、外に公開するのは操作であって内部のデータ構造ではない点を逆にしないこと。
関連用語
出典・参考
公式シラバスの1 基礎理論 > 3. プログラミング > (1) プログラミングに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。