Avatar ·

गेटर्स और सेटर्स की आवश्यकता क्यों है, जबकि फ़ील्ड्स को सार्वजनिक बनाया जा सकता है?

सभी को नमस्कार! मैंने अभी Java और OOP सीखना शुरू किया है, और मेरे मन में एक शायद बेवकूफी भरा सवाल आया। सभी पाठ्यपुस्तकों और कोर्सेज में कहा जाता है: "हमेशा फ़ील्ड्स को private बनाएं, और उन तक पहुंच गेटर्स और सेटर्स के माध्यम से करें"। लेकिन मुझे समझ नहीं आता, इसे इतना जटिल क्यों बनाया जाए? मेरे पास एक `Person` क्लास है: ```java public class Person { public String name; public int age; } ``` और मैं आराम से लिख सकता हूं: ```java Person person = new Person(); person.name = "Вася"; person.age = 25; System.out.println(person.name); ``` सब कुछ काम करता है! तो फिर मुझे 20 लाइनों का अतिरिक्त कोड क्यों लिखना चाहिए: ```java public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` सिर्फ इसलिए कि बाद में वही काम करूं? `person.setName("Вася")` — यह