Kotlin में `::` ऑपरेटर का क्या अर्थ है? उदाहरणों के साथ समझाएं
सभी को नमस्ते! मैंने अभी-अभी Android डेवलपमेंट के लिए Kotlin सीखना शुरू किया है और दो कोलन `::` वाले अजीब सिंटैक्स पर ठोकर खाई है। मैं इसे हर जगह देखता हूं: lambdas में, reflection के साथ काम करते समय, Jetpack Compose में। \n\nउदाहरण के लिए, मैंने ऐसा कोड देखा:\n```kotlin\nval onClick: (View) -> Unit = ::handleClick\n```\nया यह:\n```kotlin\nclass MyFragment : Fragment() {\n private val binding by viewModels()\n // ...\n val items = listOf("A", "B", "C")\n val filtered = items.filter(String::isNotEmpty)\n}\n```\nऔर Compose में भी:\n```kotlin\nButton(onClick = ::onButtonClick) { Text("Click") }\n```\n\nमैं समझता हूं कि यह किसी तरह functions या properties के references से संबंधित है, लेकिन मैं `::handleClick` और सिर्फ `{ handleClick(it) }` के बीच अंतर नहीं समझ पा रहा हूं। इस ऑपरेटर की आवश्यकता क्यों है? इसका उपयोग कब करें, और कब न करें?