クラスの再利用と拡張を実現!「継承(Inheritance)」とは?
Javaのオブジェクト指向における重要な概念のひとつが継承(Inheritance)です。
継承を使うことで、既存のクラス(親クラス)を元に、新しいクラス(子クラス)を作ることができます。
継承とは?
継承とは、あるクラスのフィールドやメソッドを、別のクラスに引き継ぐ仕組みです。
共通する処理を親クラスにまとめておくことで、コードの再利用や保守性の向上が期待できます。
基本構文
class 子クラス名 extends 親クラス名 {
// 子クラス独自の内容
}
例:親クラスと子クラス
public class Animal {
public void speak() {
System.out.println("なにかの動物が鳴いています。");
}
}
public class Dog extends Animal {
public void bark() {
System.out.println("ワンワン!");
}
}
継承したクラスを使う
public class Main {
public static void main(String[] args) {
Dog d = new Dog();
d.speak(); // 親クラスのメソッド
d.bark(); // 子クラスのメソッド
}
}
superキーワード
子クラスから親クラスのメソッドやコンストラクタを呼び出すときは、super
キーワードを使います。
public class Dog extends Animal {
public Dog() {
super(); // 親のコンストラクタ呼び出し
}
@Override
public void speak() {
super.speak(); // 親のspeakを呼ぶ
System.out.println("でも犬はワンワンと鳴きます。");
}
}
ポイント:オーバーライド(Override)
- 親クラスのメソッドを子クラスで書き換えることができる
@Override
アノテーションを付けるのが一般的
注意点
- Javaは単一継承のみ対応(1つの親クラスしか継承できない)
- 複数の共通機能が必要な場合は、インターフェースを併用する
まとめ
継承(Inheritance)は、既存のクラスの機能を引き継ぎつつ、新たな機能を追加するための仕組みです。
Javaでは「extends
」を使って親クラスを継承し、コードの再利用性と拡張性を実現できます。
オーバーライドやsuper
の使い方もあわせて理解しておくと、より実践的に活用できます!