抽象クラス 【abstract class】 abstractクラス / アブストラクトクラス
概要
抽象クラス(abstract class)とは、オブジェクト指向プログラミング(OOP)で用いられる特殊なクラスで、実装を含まない宣言のみの抽象メソッドを含むもの。それ自身をインスタンス化することはできない。抽象メソッド(abstract method)は名前や引数、返り値の型といった宣言部分のみが記述されたメソッド定義で、処理の本体(実装コード)が存在しない。クラスを継承したサブクラス(子クラス/派生クラス)が共通して必ず実装すべきのメソッドを指示するために用いられる。
抽象メソッドを含む形で定義されたクラスを抽象クラスと呼び、実装の存在しないメソッドを抱えるため、それ自体を実行時にメモリ上にオブジェクトとして展開することはできない。使用する場合は必ずサブクラスを作成し、すべての抽象メソッドを実装しなければならない。
Java言語などでは抽象クラスは抽象メソッド以外の(実装のある通常の)メソッドを宣言することもでき、仕様上は抽象メソッドが存在しなくてもよい(抽象クラスを宣言する意味がないので一般的には一つ以上の抽象メソッドを定義する)。
(2020.4.20更新)