データベーススペシャリスト暗記無料で始める

抽象クラスとは?ちゅうしょうくらす

抽象クラスとは、それ自体ではインスタンスを作れず、サブクラスに実装させることを前提としたクラス。共通する属性や処理は親側にまとめ、派生ごとに中身の変わる部分だけを本体のない抽象メソッドとして宣言しておく。重複を排除しながら、違いを1か所に閉じ込めるための仕組みである。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では1回出題されています。

データベーススペシャリスト試験の頻出用語/午前II

この語が出る過去問を解く →

背景

似た処理をクラスごとに書き写すと、仕様が変わるたびに全部を直すことになり、直し漏れが必ず出る。かといって共通部分を1つのクラスへ寄せると、今度は派生ごとの違いを吸収する分岐が肥大化する。共通は継承で共有し、違う部分は宣言だけ置いて実装をサブクラスへ委ねる、という切り分けがこの構造で、呼び出す側は親の型のまま扱えるので分岐そのものが不要になる。

具体例

抽象クラス「図形」に面積を返す抽象メソッドを置き、円・三角形・長方形の各サブクラスがそれぞれの式で実装する。JavaのInputStreamやAbstractListも同じ形で、共通の読み出し手順は親が持ち、実際にどこから読むかだけを派生クラスが決める。新しい図形や入力元を足しても、呼び出し側の分岐は増えない。

試験での引っ掛け

インタフェースとの区別が問われる。抽象クラスは実装済みメソッドやフィールドを持てるが多重継承は通常できず、インタフェースは実装を持たない代わりに複数を実装できるという対比で整理する。抽象メソッドを1つも持たなくても抽象クラスとして宣言できる一方、抽象メソッドを持つクラスは必ず抽象クラスになる、という向きの非対称も押さえておく。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:午前II
  • インタフェースとの区別が問われる。