Какое преимущество использования геттеров и сеттеров - которые только получают и устанавливают - вместо простого использования открытых полей для этих переменных?
Если получатели и сеттеры когда-либо делали больше, чем просто простой get/set, я могу понять это очень быстро, но я не понимаю на 100%, как:
public String foo;
хуже, чем:
private String foo;
public void setFoo(String foo) { this.foo = foo; }
public String getFoo() { return foo; }
В то время как первый принимает гораздо меньший шаблонный код.