継承とコンポジション

コンポジションとは、親クラスを継承しないでprivateメンバに取り込んでしまうこと。

  • 継承と違って別物になるので、親の変更の影響を受けなくなる。
  • 親のヘッダファイルを必ずしもincludeしなくてもよくなるので、コンパイルするファイル間の依存性が下がる。
  • 継承のメリットが薄くなる。
    • わざわざ別にインスタンスを生成しなければならない
    • 必要なメソッドはいちいち取り込まなければならない