Joshua Bloch の『Effective Java』を読んでいました。
項目 17:「型を定義するためだけにインターフェイスを使用する」で、定数を格納するためにインターフェイスを使用することはお勧めできないという説明に出くわしました。以下に解説を入れておきます。
「さらに悪いことに、それはコミットメントを表しています。将来のリリースで定数を使用する必要がなくなるようにクラスが変更された場合でも、バイナリ互換性を確保するためにインターフェイスを実装する必要があります。」
ここでバイナリ互換性とはどういう意味ですか?
コードがバイナリ互換であることを示すために、誰かがJavaの例を教えてくれますか?