http://martinfowler.com/bliki/ImplicitInterfaceImplementation.html JavaもC#も純粋なインタフェース型というものを用意している。 純粋なインタフェースはinterface Mailableのように宣言し、 Javaの場合だとclass Customer implements Mailableのようにして実装する。 ひとつのクラスは複数のインタフェースを実装することができる。 このモデルが考慮していないのは、 クラスには必ず暗黙的なインタフェース(implicit interface)があるという点である。 Customerの暗黙的なインタフェースは、Customerで宣言されたすべてのpublicなメンバである(この暗黙的なインタフェースは、今まで私が見てきたどのOO言語にも存在する)。 JavaでもC#でも、暗黙的なイ