情報処理安全確保支援士暗記無料で始める

抽象クラスとインタフェースとは?ちゅうしょうくらすといんたふぇーす

抽象クラスとインタフェースとは、利用側が具体的な実装クラスを直接名指しせずに済むよう、操作の宣言だけを型として切り出す仕組み。インタフェースは実装を持たない契約に徹する代わり1つのクラスが複数を実装でき、抽象クラスは共通実装と状態を部分的に抱えられる代わりに単一継承に縛られる。依存関係逆転を成り立たせる土台でもある。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の頻出用語/午前II

情報処理安全確保支援士を最短で暗記・合格する →

背景

利用する側が具体的なクラスを直接名指しすると、実装を1つ差し替えるだけで利用側まで改修が波及する。とくに外部サービスや出力先のように交換される見込みが高い部分では、この結合が変更費用の大半を生んでいた。そこで「何ができるか」だけを型として宣言し、「どうやるか」を別に置く分離が定着した。テスト時に本物を代替物へ差し替えられるのも同じ仕組みの効果である。

具体例

Javaのjava.util.Listはインタフェースで、ArrayListとLinkedListが実装を与える。利用側をListの型で書いておけば、要素数や参照の仕方に応じて実装を入れ替えても、利用側のコードは一行も変わらない。

試験での引っ掛け

抽象クラスはインスタンス化できないが、コンストラクタやフィールドは持てる——「持てない」とする記述は誤り。またインタフェースを分けずに巨大化させると、実装側が使わないメソッドまで空実装させられる(インタフェース分離原則違反)。禁じられるのは実装の多重継承であって、インタフェースの複数実装はこれに当たらない。

関連用語

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

情報処理安全確保支援士を最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 抽象クラスはインスタンス化できないが、コンストラクタやフィールドは持てる——「持てない」とする記述は誤り。