Mixinとは、オブジェクト指向の多重継承の欠点を最小にして利点を生かすテクニックです。 多重継承の欠点とは以下のようなものです。 構成が複雑になってしまう クラス群の優先順位が分からなくなる メソッドの名称が衝突してしまうことがある これらの欠点を解決する方法として、下記のようなものがあります。 多重継承を禁止してしまう Mixinを使う 多重継承を禁止してしまう この方法をとっているのはJavaです。 Javaでは、多重継承を行なえないようになっています。 代わりにインタフェースというものがあります。 継承には2種類の目的があります。 仕様の継承 どのようなメソッドを持っているか、どのように振る舞うか 実装の継承 どのようなデータ構造を使い、どのようなアルゴリズムで処理するか 仕様の継承は、インターフェースにあたります。 実装の継承は、「extends」での継承にあたります。 Java

