Avatar ·

Pourquoi avons-nous besoin de getters et setters si on peut simplement rendre les champs publics ?

Bonjour à tous ! Je viens de commencer à étudier Java et la POO, et j'ai une question probablement stupide. Dans tous les manuels et cours, on dit : "Toujours rendre les champs private, et y accéder via des getters et setters". Mais je ne comprends pas pourquoi compliquer les choses à ce point ? J'ai une classe `Person` : ```java public class Person { public String name; public int age; } ``` Et je peux tranquillement écrire : ```java Person person = new Person(); person.name = "Вася"; person.age = 25; System.out.println(person.name); ``` Tout fonctionne ! Pourquoi devrais-je écrire 20 lignes de code supplémentaires : ```java public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } ```