【EffectiveJava[13]】

<第 3 章 すべてのオブジェクトに共通のメソッド>
項目13: クラスとメンバーへのアクセス可能性を最小限にする

■著書からの要点抜粋
・役割に矛盾しないように最も低いアクセスレベルを選ぶ
インスタンスフィールドは、決してpublicにすべきではありません。
・publicの可変フィールドを持つクラスは、スレッドセーフではありません。
・クラスがpublic static finalの配列フィールドやそのようなフィールドを
 返すアクセッサーを持つのは、ほとんど常に誤りです。
 (長さが0ではない配列は常に可変のため)


■所感
クラスが供給するデータ、情報は必要最低限に提供しましょうというのが
趣旨かなぁ。
それは確かにそうだ。
アクセス範囲を狭めることで堅牢な仕様になるし。

Effective Java プログラミング言語ガイド

Effective Java プログラミング言語ガイド