Java : interface

Javaにはヘッダファイルが存在しないので、宣言と実装が分離しにくくて、ソースコートが読みづらい、という印象を持っている人っていないだろうか? 少なくとも、最初の頃、私はそういう印象をJavaに対して持っていた。
interfaceという機能を知ったのは、随分昔、XiというXMLベースのプログラミング言語+処理系(http://www.baykit.org/index.xi)のソースコードを読んだときだ。interfaceで実装すべきメソッドの一覧を宣言しておいて、実装は実装クラスを別に作成してそこに記述していた。つまり、interfaceをヘッダファイルのように使っていたのだ。
さらに、Javaでは、このinterfaceの機能を利用して、より柔軟で、より意味付けされた宣言部を作成することができる。という話を、これから少し検討してみようと思います。