インヘリタンス(継承)とは?
インヘリタンス(inheritance)とは、
既にあるクラスの性質(機能やデータ)を引き継いで、新しいクラスを作る仕組みです。
簡単に言うと、
👉「親の機能をそのまま使える子どもを作るイメージ」
です。
用語の基本
インヘリタンスを理解するために、まずは基本用語を押さえましょう。
| 用語 | 意味 |
|---|---|
| 親クラス(スーパークラス) | 元となるクラス |
| 子クラス(サブクラス) | 親クラスを引き継いで作るクラス |
具体例で理解しよう
例えば「動物」というクラスを考えます。
class Animal {
void eat() {
System.out.println("食べる");
}
}
このクラスを継承して、「犬」を作るとこうなります。
class Dog extends Animal {
void bark() {
System.out.println("ワンワン");
}
}
ポイント
DogはAnimalを継承しているDogは「食べる(eat)」も使える- さらに「吠える(bark)」も追加できる
👉つまり
「元の機能 + 新しい機能」が使えるようになる
インヘリタンスのメリット
① コードの再利用ができる
同じ処理を何度も書く必要がなくなります。
// いちいち書かなくていい
eat();
👉 効率的に開発できる
② 保守性が高くなる
親クラスを修正すれば、子クラスにも反映されます。
👉 バグ修正や仕様変更が楽になる
③ 設計が分かりやすくなる
「共通部分」と「個別部分」を分けて整理できます。
例:
- 動物 → 共通機能(食べる)
- 犬 → 個別機能(吠える)
👉 構造がシンプルになる
オーバーライドとは?
継承とセットでよく出てくるのが「オーバーライド」です。
これは、
👉 親クラスの処理を子クラスで上書きすること
です。
例
class Dog extends Animal {
@Override
void eat() {
System.out.println("ドッグフードを食べる");
}
}
👉 同じ「eat」でも内容を変えられる
インヘリタンスの注意点
便利な仕組みですが、使いすぎには注意が必要です。
● 継承しすぎると複雑になる
クラス同士の関係が分かりにくくなります。
● 不適切な継承はバグの原因になる
「本当に親子関係か?」を考えることが大切です。
インヘリタンスが使われる場面
- 業務システムの設計
- Webアプリ開発
- ゲーム開発
- フレームワークの内部設計
👉 ほぼすべての開発で使われる重要概念です
まとめ
インヘリタンス(継承)は、
👉 「既存のクラスを元に、新しいクラスを効率よく作る仕組み」
です。
ポイントをおさらいすると:
- 親クラスの機能を引き継げる
- コードの再利用ができる
- 保守性・可読性が向上する
- オーバーライドで柔軟な変更が可能


