Mutable/Immutable
[id:emeitch:20050902]
Mutableって、要するに
x = createX(); y = x; y.changeValue();
みたいなことがあった時に、「x == y」が成立するかどうかの問題だよね。Mutableなオブジェクトだと、yの変更がxに伝わってしまうので、「x == y」が成立するし、Immutableならxに変更は加わらないので、「x == y」が成立しない。
[id:lethevert:20050818:p2]にも書いたけど、xに何も更新を加えていないのに、内部的に更新されてしまうのが、僕には気持ち悪いし、それが必要になる場面もあまり多くないように思う。複数のオブジェクトが一つのデータを共有するような局面はそれが必要になるんだろうけど。