Kotlin में companion object की आवश्यकता क्यों है और यह Java के static फील्ड्स को कैसे बदलता है?
सभी को नमस्ते! मैंने हाल ही में Java के बाद Kotlin सीखना शुरू किया है और मुझे समझ नहीं आ रहा है। Java में मैं अक्सर static फील्ड्स और मेथड्स का उपयोग करता था, उदाहरण के लिए, क्लास कॉन्स्टेंट या फैक्ट्री मेथड्स बनाने के लिए:\n\n```java\npublic class User {\n public static final int MIN_AGE = 18;\n \n public static User createGuest() {\n return new User("गेस्ट");\n }\n \n private String name;\n public User(String name) { this.name = name; }\n}\n```\n\nKotlin में मैं देखता हूँ कि static कीवर्ड नहीं है, इसके बजाय companion object का उपयोग किया जाता है। लेकिन मैं पूरी तरह से नहीं समझ पा रहा हूँ कि सिर्फ static के बजाय object की आवश्यकता क्यों है। Java की तरह क्यों नहीं किया जा सकता था?\n\nउदाहरण के लिए, मैं इस तरह लिखता हूँ:\n\n```kotlin\nclass User {\n companion object {\n val MIN_AGE = 18\n fun createGuest() = User("गेस्ट")