interface と型チェックの有無 #3

何に焦点を当てているのか分からない、と言われてもこれ以上ない位明確に書いてあるつもりだけどなぁ。一応、引用しておくか。

そういうわけで、Java の interface が静的型付けのための仕組みととらえると、静的な型チェックの有無は本質的な部分でしょ、というのが私の主張。

そりゃ、静的型付けを行わない interface も全くの無意味ではないかもしれない。XML パーザが返すオブジェクトは DOM のインターフェースを備えていますとドキュメントに書いておいて、その仕様に関して記述するのは意味がある。でも、それってドキュメントとか規約レベルの話でないの?
少なくとも Java においては例の論文と同様に interface は subtyping の仕組みを含んでいるし、Java そのものとしても interface を使った subtyping は重要な位置にある訳で、その部分をスポイルして比較してもしょうがないでしょう。