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以外の関数・メソッドについても

状態を更新する関数は更新の成否以外の返り値を持たない。ただし、「状態を更新する」とはオブジェクト外部から見た振舞いが変化する更新のみを指す。

という規約を設けるのもよいのではないかと思う。

*1:オーバーヘッドを節約するという利点もJITにより無くなった。