Wozu braucht man Getter und Setter, wenn man Felder einfach public machen kann?
Hallo zusammen! Ich habe gerade erst angefangen, Java und OOP zu lernen, und habe wahrscheinlich eine dumme Frage. In allen Lehrbüchern und Kursen heißt es: "Macht Felder immer private und greift über Getter und Setter darauf zu." Aber ich verstehe nicht, warum man es so kompliziert machen soll?\n\nIch habe zum Beispiel eine Klasse `Person`:\n\n```java\npublic class Person {\n public String name;\n public int age;\n}\n```\n\nUnd ich kann einfach schreiben:\n\n```java\nPerson person = new Person();\nperson.name = "Вася";\nperson.age = 25;\nSystem.out.println(person.name);\n```\n\nEs funktioniert alles! Warum sollte ich dann zusätzliche 20 Zeilen Code schreiben:\n\n```java\npublic class Person {\n private String name;\n private int age;\n\n public String getName() {\n return name;\n }\n\n public void setName(String name) {\n this.name = name;\n }\n\n