Warum Getter und Setter / Accessoren verwenden? [geschlossen]

Was ist der Vorteil der Verwendung von Gettern und Setzern, die nur abgerufen und gesetzt werden, anstatt einfach öffentliche Felder für diese Variablen zu verwenden?

Wenn Getter und Setter jemals mehr als nur das einfache Get / Set tun, kann ich dies sehr schnell herausfinden, aber mir ist nicht 100% klar, wie:

public String foo;

ist schlimmer als:

private String foo;
public void setFoo(String foo) { this.foo = foo; }
public String getFoo() { return foo; }

Während der erstere viel weniger Code für das Boilerplate benötigt.

Antworten auf die Frage(30)

Ihre Antwort auf die Frage