Ich würde aus Gründen der Selbstdisziplin grundsätzlich in einer Setter-Methode prüfen, ob das private Feld nicht schon den Wert enthält. Wenn ich das am Anfang gleich mache, dann habe ich später keine Probleme, die Setter-Methode auf die Schnelle (also unter Zeitdruck) zu erweitern.
Ich würde die paar Taktzyklen ohnehin ignorieren, schließlich geht es hier um
OOP und nicht um Nanosekunden-Performance.
Am Anfang mag das wirklich bescheuert aussehen, aber es ist konsistent...