この記事では、「継承」と「集約」の違いを分かりやすく説明していきます。
「継承」とは?
あるオブジェクトが、他のオブジェクトの特徴や機能を受け継ぐことを意味する言葉です。
また、「継承」という言葉は、親クラスと子クラスの間に、関係性がある際に使用されると考えられます。
「集約」とは?
あるオブジェクトが他のオブジェクトを含むことを意味する言葉です。
また、「集約」という言葉は、全体と部分の間に関係性があるときに使用されると考えられます。
「継承」と「集約」の違い
「継承」と「集約」の違いを、分かりやすく解説します。
「継承」と「集約」は、オブジェクト指向プログラミングにおけるクラス間の関係を意味する用語ですが、細かな意味やニュアンスに違いがあります。
「継承」は、あるクラス(親クラス)のメンバ(フィールドやメソッド)を、別のクラス(子クラス)に引き継ぐことを表現する際に使用する言葉です。
その一方で、「集約」は、あるクラス(集約クラス)が、別のクラス(部品クラス)のオブジェクトをメンバとして持つことを表現する際に使用する言葉です。
「継承」の例文
・『彼は長年に渡ってこの国を治めてきたが、息子にその王座を継承することにした』
・『彼女は師匠の意思を継承して、精進することを誓った』
「集約」の例文
・『彼の元に社内の情報が集約されるので、困ったことがあれば彼に聞いてみてください』
・『この国の叡智を集約することによって、この未曾有の危機に取り組みましょう』
まとめ
「継承」と「集約」は、オブジェクト指向プログラミングにおける概念だと言えます。
オブジェクト指向プログラミングは、プログラムを「オブジェクト」という単位に分割し、それらの相互作用で動作するように設計する方法だと考えられます。
オブジェクトは、状態を表す「フィールド」と、振る舞いを表す「メソッド」を持ちます。
オブジェクトは、他のオブジェクトと関係を持つことができますが、その関係の種類によって「継承」と「集約」が区別されることでしょう。