■
Wrap.java
public class Wrap { public Object obj; public Object getObj(){ return this.obj; } public void setObj(Object obj){ this.obj = obj; } }
このWrap.javaにおいてはgetObjとobjへの参照、setObjとobjへの代入が等価である。Fieldへの直接参照は細かなアクセス制限ができないため、あまり使うべきではない。*1
参照と代入との区別をより明確にするためにgetter,setter以外の関数・メソッドについても
状態を更新する関数は更新の成否以外の返り値を持たない。ただし、「状態を更新する」とはオブジェクト外部から見た振舞いが変化する更新のみを指す。
という規約を設けるのもよいのではないかと思う。