Если я создаю класс на Java, мне всегда учили, что соглашение состоит в том, чтобы сделать все поля класса приватными. Если мне нужно получить доступ или изменить их, я могу создать метод доступа и мутатора. Я понимаю важность частных переменных, поскольку они помогают уменьшить сложность и обеспечить инкапсуляцию.
Я не понимаю, что если я создаю общедоступный метод accesor и mutator, это не переменная public в этот момент? Почему все еще условно использовать частные переменные в ситуациях, когда кто-либо может получить к ним доступ?
Следует также отметить, что я понимаю важный из этих методов, но я хотел бы знать, почему мы пытаемся сделать переменную приватной, даже если мы предоставляем кому-либо доступ к ней с помощью этих методов?