Обьявляя приватное поле, вы хотите чтобы оно менялось только кодом этого класса. Т.е. только ваш класс управляет своим состоянием своих параметров.
Представьте кто-то напишет код где будет напрямую использовать значение age. А оно вдруг поменяется. Потому что у вашего человечка случился День Рождения. Внешний код не получит обновления переменной если не запросит его снова. Когда доступ к значению дается через вызов метода, есть гарантия того, что внешний код будет всегда получать актуальное значение переменной. Предоставляя публичные методы доступа к внутренним параметрам, вы даете внешнему миру интерфейс взаимодействия с вашим классом. И таким образом определяете правила.
Вот вам простая аналогия:
Вы не можете получить доступ к данным из ЖЭК, их базы данных для вас закрыты, но по заявке вы получите доступ к той информации, получить которую имеете право. Заявление и справка это интерфейс работы с данными в ЖЭКе для внешних систем, т.е. жильцов.