Javaの継承とは?親クラスの機能を子クラスで引き継ぐ考え方

本記事は、Schooの「Java入門 初級【2026年版】」第7回「継承とインターフェース」を学ぶ前後に、Javaの継承の考え方を整理したい方向けのステップアップ学習記事です。
ただし、Schooを受講していない方でも、クラス、フィールド、コンストラクタ、メソッドの基本を学んだあとに読み進められる内容にしています。
Schoo コースページ:Java入門 初級【2026年版】
継承とは、あるクラスの機能を別のクラスで引き継いで使えるようにする仕組みです。Javaでは、親クラスをもとにして子クラスを作るときに extends を使います。
継承は親クラスの機能を子クラスで使う仕組み
たとえば、共通する情報や処理を Parent クラスに用意し、それを Child クラスで引き継ぐことができます。
public class Parent {
private String familyName;
public Parent(String familyName) {
this.familyName = familyName;
}
public void showCommon() {
System.out.println("苗字:" + familyName);
}
}
Parent クラスには、苗字を表す familyName と、それを表示する showCommon メソッドがあります。
public class Child extends Parent {
private String givenName;
public Child(String familyName, String givenName) {
super(familyName);
this.givenName = givenName;
}
public void showChildOnly() {
System.out.println("名前:" + givenName);
}
}
Child extends Parent と書くことで、Child は Parent を継承します。Child は親クラスの機能を使いながら、givenName や showChildOnly のような独自の機能を追加できます。
引き継ぐ
extends を使うと、子クラスは親クラスの機能を利用できるようになります。子クラスは親クラスのメソッドを呼び出せる
継承すると、子クラスのオブジェクトから親クラスのメソッドを呼び出せます。
Child child = new Child("佐藤", "太郎");
child.showCommon(); // Parentのメソッド
child.showChildOnly(); // Childで追加したメソッド
showCommon は Parent に書かれたメソッドですが、Child のオブジェクトである child から呼び出せます。一方、showChildOnly は Child に追加したメソッドです。
showCommon() は Parent に書かれたメソッドですが、Child のオブジェクトから呼び出せます。showChildOnly() は Child に追加したメソッドです。親にはない、子クラス独自の処理です。superは親クラス側のコンストラクタを呼び出す
子クラスのコンストラクタでは、親クラス側の初期化も必要になることがあります。そのときに使うのが super(...) です。
public Child(String familyName, String givenName) {
super(familyName);
this.givenName = givenName;
}
super(familyName); は、親クラス Parent のコンストラクタへ familyName を渡しています。そのあとで、子クラス自身のフィールドである givenName に値をセットしています。
familyName は super(familyName) によって、親クラス Parent のコンストラクタへ渡されます。givenName は Child 自身のフィールドにセットします。super(...) は、親クラスのコンストラクタを呼び出す書き方です。継承はコードをコピーする話ではない
継承を「親クラスのコードが子クラスにコピーされる」と考えると、少し誤解しやすくなります。実際には、子クラスが親クラスの機能を利用できる関係を作る、と考えるほうが自然です。
共通する機能は親クラスに置き、違いがある部分は子クラスに追加する。これが継承の基本的な使い方です。
確認問題
Child extends Parentと書いた場合、ChildとParentはどのような関係になりますか。Childのオブジェクトから、Parentに書かれたshowCommonメソッドを呼び出せるのはなぜですか。super(familyName);は何を呼び出している書き方ですか。
演習後の確認:こちらのページを使って、自分で考えた内容を見直せます。
あわせて読みたい関連記事
まとめ
Javaの継承は、親クラスの機能を子クラスで引き継いで使う仕組みです。extends で親子関係を作ると、子クラスは親クラスのメソッドを呼び出せます。また、子クラスには独自のフィールドやメソッドを追加できます。親クラス側のコンストラクタを呼び出すときは super(...) を使います。