Effective Java 第4章 クラスとインタフェース (13, 14)
クラスとかその辺の章。
項目13
クラスとメンバはできるだけprivateにする、という項目?
カプセル化とイミュータブルを忘れずに。……という風にしか読めなかった。
項目14
publicのフィールドではなくアクセサメソッドを作りましょう、という項目。
public class Aaa { public int a; public int b; }
これだと、オーバーライドできないし、不変式(おかしな値を入れること??)を強制できないとかなんとか。
privateでフィールドを宣言して、アクセサメソッドを作る意味ってなんだろうと思ってたけど、こういうことだった訳か。
あとからオーバーライドできるようにアクセサメソッドを追加しても、サブクラスが既に作られてたりしたら、そっちも変えないといけないとか、そういうのもあるし。
この章、1つ1つの項目が割と大きいから読むの大変。読み切れるんだろうか。