0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Java の継承を初学者向けにわかりやすく解説する

0
Posted at

1.かんたんに、継承とは?

  • “親クラスの機能を子クラスが引き継ぐ仕組み”
  • 親クラス(基底クラス):共通の機能を持つ
  • 子クラス(派生クラス):親の機能をそのまま使える+独自機能を追加できる

2. 継承の基本イメージ(家族の遺伝より“機能の引き継ぎ”)

  • 初学者は「親子関係」と言われてもピンと来ないので、
    “機能の引き継ぎ” と説明するのが一番わかりやすい。

例:

  • 親クラス(基底クラス):共通の機能を持つ
  • 子クラス(派生クラス):親の機能をそのまま使える+自分の機能を追加できる

親クラス:調理器具

class Cooker {
    void heat() {
        System.out.println("加熱する");
    }
}

子クラス:たい焼き器(Cooker を継承)

class TaiyakiMaker extends Cooker {
    void pourBatter() {
        System.out.println("生地を流し込む");
    }

    void addFilling() {
        System.out.println("具材を入れる(あんこ・カスタードなど)");
    }
}

使う側

TaiyakiMaker maker = new TaiyakiMaker();
maker.heat();        // 親クラスの機能
maker.pourBatter();  // 子クラスの独自機能
maker.addFilling();  // 子クラスの独自機能

👉 たい焼き器は「調理器具の一種」なので、heat() を自然に使える。

3.オーバーライド(上書き)

継承の本質は「親の機能をそのまま使う」だけでなく、
必要に応じて作り直せる(オーバーライド)こと。

オーバーライド(焼き方を変える)

  • たい焼き器の加熱方法を特別にしたい場合は、
    親の heat() を上書き(オーバーライド) できる
class TaiyakiMaker extends Cooker {
    @Override
    void heat() {
        System.out.println("両面から挟んで加熱する");
    }
}

👉 同じメソッド名で書き直すと、子クラスの動きに置き換わる。

4.初学者がつまずきやすいポイント

❌ 継承すると「全部コピーされる」

→ コピーではなく 参照している。
親クラスを変更すると子クラスにも影響するのはこのため。

❌ なんでも継承すればよい(is-a関係)

→ 継承は “〜は〜である(is-a)” の関係のときだけ。

  • Dog は Animal(OK)
  • Car は Vehicle(OK)
  • Dog は Robot(NG:似てても別物)

❌ extends したら自動で全部理解できる

→ 実際は “親のメソッドを呼んでいるだけ”。
呼び出しの流れを図で示すと理解が早い。

図解:継承のイメージ

Cooker(親:調理器具)
 ├─ heat()        ← 加熱する
 └─ clean()       ← 掃除する

        ↓ extends

TaiyakiMaker(子:たい焼き器)
 ├─ heat()        ← オーバーライド(たい焼き器の加熱方法に変更)
 ├─ clean()       ← 親のまま使う
 └─ pourBatter()  ← 子の独自機能(生地を流す)

5.継承を使うべき場面

  • 共通の処理をまとめたい
  • 子クラスごとに振る舞いを変えたい(オーバーライド)
  • “〜は〜である” の関係が成り立つ

まとめ

  • 継承 = 機能の引き継ぎ
  • extends で親クラスを指定する
  • 親のメソッドをそのまま使える
  • 必要ならオーバーライドで作り直せる
  • “is-a” の関係のときだけ使う
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?