interfaceのアクセススコープ

interfaceのフィールド・メソッドは暗黙にpublicなメンバとされます。
インタフェースはオブジェクト間のメッセージ送受信の方法を定義したもの*1ですので、publicであることは理解できます。

しかしinterface自身のデフォルトのアクセススコープは「なし」=パッケージプライベートです。パブリックなinterfaceとするためにはpublic宣言が必須です。

しかし、パッケージプライベートなインタフェースって、何に使うんだろう?
インタフェースはパブリックスコープでいろいろなベンダがいろいろ実装し、それがつながることにこそ意味があるわけで、それがパッケージプライベートでは意味をなさないのではないだろうか?

この話、質問されたら「(((( ;゜Д゜)))ガクガクブルブル 」な今日この頃。

*1:ワタシの解釈です。