На данный вопрос уже ответили:
Допустим у меня есть List из модели. В каждой модели данные будут меняться. Зачем в этом случае нужны геттеры/сеттеры если можно сделать вот так
Model m = new Model("foo");
m.foo = "fff";
Тоесть указать экземпляр и через точку переменную которую можно менять.
Ну как минимум это надежность Инкапсуляция ,Да и контроль меньше можно с легкостью контралировать значения ,Выбрасывать исключения и так далее ,Если короче они удобны и с ними легче работать и надежнее .
Сборка персонального компьютера от Artline: умный выбор для современных пользователей