Mix-in ってなにさ イコール多重継承でしょ、と思ってたらちょっと違うようで、また、複数インターフェースの実装を指すのでもないようだ(囚人さんの記事が参考になる)。さりとて、duck typing や structural subtyping の話かというと、それはむしろ論点がズレている。混乱してきた。Wikipedia もめくっておこう。 Mixin は、メソッドが実装されたインターフェースとして見ることもできる。 …(中略)… Java や C# などの一般的な言語では、Mixin の機能の一部は、インタフェースにより提供される。しかし、インタフェースはクラスがサポートしなければならないものを指定するのみで、実装を提供しないため、ポリモーフィズムを提供するためにのみ有用である。インターフェイスに依存し実装を提供するクラスが、共通の振る舞いを一箇所にリファクタリングするために有用であ