【けいしょう】
継承 とは?
💡 親クラスの「財産を受け継ぐ」子クラスの仕組み
📌 このページのポイント
継承って何のためにあるの?
コードの重複を減らすためだよ。「動物」クラスに「名前」と「鳴く」メソッドを作っておけば、「犬」クラスや「猫」クラスはそれを引き継いで、独自の部分だけを追加すればいい。
オーバーライドって何?
多重継承ができない言語がある理由は?
「継承より合成」って何?
継承で機能を「引き継ぐ」より、必要な機能を持つオブジェクトを「フィールドに持つ(合成)」ほうが柔軟という考え方。継承は親子関係が固定されて変更しにくくなるけど、合成なら部品を差し替えやすい。Goのように継承を持たず合成のみの言語もある。継承と合成の使い分けは設計力の問われるところで、「is-a関係」なら継承、「has-a関係」なら合成、というガイドラインが判断の基準になる。
まとめ:ざっくりこれだけ覚えればOK!
継承って出てきたら「親クラスの機能を引き継ぐ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Inheritance」 = 相続・継承
💬 法律用語の「相続(親から財産を引き継ぐ)」と同じ言葉。クラスが親の「財産(コード)」を引き継ぐ