Зачем использовать геттеры и сеттеры / средства доступа? [закрыто]

В чем преимущество использования геттеров и сеттеров - которые только получают и устанавливают - вместо простого использования открытых полей для этих переменных?

Если геттеры и сеттеры когда-либо делают больше, чем просто получают / устанавливают, я могу понять это очень быстро, но я не на 100% уверен в том, как:

public String foo;

хуже чем:

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

В то время как первый занимает гораздо меньше стандартного кода.

Ответы на вопрос(30)

Ваш ответ на вопрос