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に何も更新を加えていないのに、内部的に更新されてしまうのが、僕には気持ち悪いし、それが必要になる場面もあまり多くないように思う。複数のオブジェクトが一つのデータを共有するような局面はそれが必要になるんだろうけど。