BCA / B.Tech 9 min read

Method Hiding in Hindi

Method Hiding in Java in Hindi | जावा में मेथड हाइडिंग :


जावा में मेथड हाइडिंग (Method Hiding) एक ऐसी प्रक्रिया है जिसमें पैरेंट क्लास (मूल वर्ग) के एक स्टैटिक मेथड (static method) को सब-क्लास (उपवर्ग) में स्टैटिक मेथड के रूप में फिर से परिभाषित किया जाता है। यह ओवरराइडिंग से थोड़ा भिन्न है, क्योंकि ओवरराइडिंग के विपरीत, इसमें स्टैटिक मेथड्स का उपयोग होता है और यह रनटाइम पॉलिमॉरफिज़्म (runtime polymorphism) को सपोर्ट नहीं करता।

मेथड हाइडिंग जावा में एक विशेष प्रकार की प्रक्रिया है जो केवल स्टैटिक मेथड्स पर लागू होती है। इसमें सब-क्लास अपने पैरेंट क्लास के स्टैटिक मेथड को छिपा (hide) लेता है, और इसका डिस्पैचिंग कंपाइल-टाइम पर होता है। जबकि यह ओवरराइडिंग से भिन्न है, यह जावा में स्टैटिक मेथड्स के उपयोग को अधिक नियंत्रित और कुशल बनाता है। मेथड हाइडिंग का सही उपयोग करने से प्रोग्राम में बेहतर परफॉर्मेंस और स्टैटिक मेथड्स की अधिकतम क्षमता प्राप्त की जा सकती है।


What is Method Hiding | मेथड हाइडिंग क्या है 

यदि पैरेंट क्लास में कोई स्टैटिक मेथड होता है और उसी नाम और सिग्नेचर (signature) के साथ सब-क्लास में भी एक स्टैटिक मेथड होता है, तो उसे मेथड हाइडिंग कहा जाता है। इस स्थिति में, जब हम पैरेंट क्लास के मेथड को सब-क्लास से एक्सेस करने का प्रयास करते हैं, तो पैरेंट क्लास का स्टैटिक मेथड छिप (hide) जाता है, और सब-क्लास का मेथड प्राथमिकता लेता है। इसीलिए इसे हाइडिंग कहा जाता है।

ध्यान दें कि मेथड हाइडिंग केवल स्टैटिक मेथड्स के साथ होती है। यदि मेथड नॉन-स्टैटिक है, तो उसे ओवरराइड किया जाता है, न कि हाइड।

Rules for Method Hiding in java in Hindi | मेथड हाइडिंग के नियम :

  • स्टैटिक मेथड का उपयोग: केवल स्टैटिक मेथड्स को ही हाइड किया जा सकता है। नॉन-स्टैटिक मेथड्स के लिए ओवरराइडिंग लागू होती है।
  • सिग्नेचर का समान होना: पैरेंट क्लास और सब-क्लास दोनों में स्टैटिक मेथड्स का नाम, पैरामीटर की संख्या, और प्रकार समान होना चाहिए।
  • एक्सेस मोडिफायर (Access Modifier): मेथड हाइडिंग में ओवरराइडिंग की तरह ही एक्सेस मोडिफायर के नियम लागू होते हैं। सब-क्लास का स्टैटिक मेथड पैरेंट क्लास के स्टैटिक मेथड के एक्सेस लेवल से अधिक या समान होना चाहिए।
  • रिटर्न टाइप (Return Type): ओवरराइडिंग की तरह ही, मेथड हाइडिंग में भी रिटर्न टाइप समान होना चाहिए या कोवेरियंट हो सकता है।
  • रनटाइम पॉलिमॉरफिज़्म का समर्थन नहीं: मेथड हाइडिंग रनटाइम पॉलिमॉरफिज़्म को सपोर्ट नहीं करता, क्योंकि स्टैटिक मेथड्स का निर्धारण कंपाइल-टाइम पर होता है, रनटाइम पर नहीं।

Example of Method Hiding in Java in Hindi | मेथड हाइडिंग का उदाहरण :

// Parent Class
class Parent {
    // Static method in parent class
    static void display() {
        System.out.println("Static method in Parent class");
    }
}

// Child Class
class Child extends Parent {
    // Static method in child class
    static void display() {
        System.out.println("Static method in Child class");
    }
}

public class Main {
    public static void main(String[] args) {
        // Parent class reference and parent class object
        Parent obj1 = new Parent();
        obj1.display();  // Output: Static method in Parent class

        // Child class reference and child class object
        Child obj2 = new Child();
        obj2.display();  // Output: Static method in Child class

        // Parent class reference but child class object
        Parent obj3 = new Child();
        obj3.display();  // Output: Static method in Parent class
    }
}


How Does Method Hiding Work in Java in Hindi | कैसे काम करता है मेथड हाइडिंग :

  • इस उदाहरण में, Parent और Child दोनों क्लासेज में एक ही नाम का स्टैटिक मेथड display() है। जब हम पैरेंट क्लास के ऑब्जेक्ट (obj1) से display() मेथड को कॉल करते हैं, तो पैरेंट क्लास का स्टैटिक मेथड कॉल होता है। जब हम चाइल्ड क्लास के ऑब्जेक्ट (obj2) से display() को कॉल करते हैं, तो चाइल्ड क्लास का स्टैटिक मेथड कॉल होता है।

  • लेकिन जब पैरेंट क्लास के रेफरेंस (obj3) से चाइल्ड क्लास का ऑब्जेक्ट बनाते हैं और display() मेथड को कॉल करते हैं, तो पैरेंट क्लास का स्टैटिक मेथड कॉल होता है। यह बताता है कि स्टैटिक मेथड्स ओवरराइड नहीं होते, बल्कि हाइड किए जाते हैं।

Advantages of Method Hiding in java in Hindi  | मेथड हाइडिंग के लाभ :

  • कंपाइल-टाइम डिस्पैचिंग: चूंकि स्टैटिक मेथड्स कंपाइल-टाइम पर डिस्पैच होते हैं, यह प्रक्रिया तेज होती है क्योंकि यह रनटाइम पॉलिमॉरफिज़्म को नहीं अपनाती।
  • स्टैटिक मेथड्स का सही उपयोग: मेथड हाइडिंग स्टैटिक मेथड्स के सही उपयोग की अनुमति देता है, जिससे हम एक ही नाम के साथ अलग-अलग कार्यक्षमता को नियंत्रित कर सकते हैं।

Disadvantages of Method Hiding in java in Hindi | मेथड हाइडिंग के नुकसान :

  • लचीलेपन की कमी: मेथड ओवरराइडिंग की तुलना में, मेथड हाइडिंग कम लचीला होता है क्योंकि यह रनटाइम पॉलिमॉरफिज़्म का समर्थन नहीं करता।
  • कोड की समझ में जटिलता: हाइडिंग के कारण, कोड को समझना कठिन हो सकता है क्योंकि यह संदर्भ पर आधारित होता है कि किस क्लास का मेथड वास्तव में कॉल किया जा रहा है।


In this Chapter

Method Hiding in Hindi
BCA || Java 2024 Paper || MDSU Exam Paper
What is Java, Characteristics of Java - Java क्या है और जावा की विशेषताएं
Difference between Java and C++ in Hindi. (Java और C++ में अंतर )
Applications of Java Programming in Hindi
OOPS concepts in Java Hindi
What is JVM and JRE in hindi
Features of JAVA in hindi
What is Java bean in hindi & advantage in Hindi
Difference between Java and JavaScript in Hindi
JIT Compiler in Hindi
What is Control Statement (structure) in Hindi
What is variable in hindi (वेरिएबल क्या होता है?):-
Java URL Class in Hindi
What is Java swing and its methods in Hindi
Operators in Java in Hindi
Class & Method in Hindi
Inheritance in Java in Hindi | जावा में इनहेरिटेंस हिंदी में
instance Operator in Hindi
Token in Hindi
Data Types in Hindi
Constructor in Hindi
Object-Oriented-Design in Hindi
Conditional Operator in Hindi
Constant in Hindi
Reference Variable in Hindi
Type Casting in Hindi
Literals in Hindi
Identifiers in Hindi
Array in Hindi
Anonymous Array in Hindi
Access Modifiers in Hindi
Enum Data type in Hindi
Keywords in Hindi-Java
Super Keywords in Hindi
Static Keywords in Hindi
Final Keywords in Hindi
New Operator in Hindi
Method Types in Hindi
Method Overloading in Hindi
Method Overriding in Hindi
Class & Object in Hindi
Diffrence Beetween Class & Object in Hindi
Math Class in Hindi
Abstraction in Hindi
Adapter Pattern in Hindi
Package in Hindi
Class & Structure in Java in Hindi
Exception Handling in Hindi