抽象クラス(Abstract Class)

抽象クラスはクラスの一種で、中身が完全に実装されていないクラスのことです。

抽象クラスについて

抽象クラスは一部または全部のメソッドが実装されていないため、他のクラスに継承して使用されることを前提としたクラスです。 実装されていないメソッドは継承したクラスによって実装されます。中身が完全に実装されていないため抽象クラスはインスタンス化できません。

抽象クラスを使用する目的は、共通のメソッドや振る舞いを定義して継承先のクラスに共通のインターフェースを提供することです。 そうする事でシステム全体で統一のとれたコードにすることができます。

抽象クラスのサンプル

抽象クラスを定義するにはクラス宣言と抽象メソッド(中身が実装されていないメソッド)に abstractキーワードを指定します。


public abstract class SampleAbstractClass {

  // フィールド
  protected String name;

  // 通常メソッド
  public String getName1(){
    return name;
  }

  // 抽象メソッド
  public abstract String getName2();

}

上の例ではgetName1メソッドは通常のメソッドで、getName2メソッドは抽象メソッドです。
getName1は処理が実装されていますが、getName2は抽象メソッドのため処理は実装されずメソッド名、引数、戻り型のみ定義されています。
getName2メソッドは、当抽象クラスを継承したサブクラスにて実装する必要があります。

抽象クラスまとめ

  • 抽象クラスは完全に処理が実装されていないためインスタンス化できない。
  • 抽象クラスとするには クラス名と抽象メソッドにabstract修飾子を指定する。

コメント

タイトルとURLをコピーしました