Why make defensive copies on immutable classes?
<p>The question is about the good programming practices and avoiding potential holes.
I read Joshua Bloch's Effective Java and here is what I wonder:
Why should I consider making defensive copies in getter methods in my immutable class with no mutators in it?
And second: why should I make my fields <em>final</em> in addition to <em>private</em>? Is this only about the performance (not security)?</p>
