Когда вы пишете лабораторку или собственный маленький проектик, то можете делать как вам угодно.
А теперь представьте себе ситуацию когда в команде программистов вы написали класс с публичными переменными, а потом подошел руководитель проекта и сказал что на каждое присваивание переменной надо делать запись в лог-файл. Теперь все программисты, которые пользовались вашим классом, вместо работы переписывают код с переменных на сеттеры.
Советую почитать "Совершенный код", чтобы не задавать подобные вопросы.