Warum defensive Kopien in Gettern in unveränderlichen Klassen anfertigen?

Bei dieser Frage geht es um gute Programmierpraktiken und die Vermeidung potenzieller Lücken.
Ich lese Joshua Blochs Effective Java und hier ist, was ich mich wundere:
Warum sollte ich in meiner unveränderlichen Klasse defensive Kopien mit Getter-Methoden ohne Mutatoren erstellen?
Und zweitens: warum soll ich meine Felder machenFinale zusätzlich zuPrivatgelände ? Geht es nur um Leistung (nicht um Sicherheit)?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage