नमस्कार दोस्तों….आज हम आपको “Static Binding and Dynamic Binding” अर्थात “स्टेटिक बाइंडिंग और डायनामिक बाइंडिंग” के विषय में बताने जा रहे हैं. आज हम बताएंगे कि “स्टेटिक बाइंडिंग और डायनामिक बाइंडिंग क्या है और इनमे क्या अंतर होता है?”. किसी भी प्रोग्राम में मेथड के call को मेथड की definition से जोड़ना ही Binding कहलाता है. Java में Binding के दो प्रकार की होती है, पहला स्टेटिक बाइंडिंग और दूसरा डायनामिक बाइंडिंग। जिनके विषय में आज हम आपको बताने जा रहे हैं. तो चलिए शुरू करते हैं आज का टॉपिक.
सूची
स्टेटिक बाइंडिंग क्या है | What is Static Binding in Hindi !!
जब कम्पाइलर compile टाइम के दौरान वेरिएबल की call a function या सभी values की उन सभी जरूरी जानकारी को acknowledge करता है, तब उसे static binding कहते हैं. इसमें सभी जरूरी जानकारी का पता रन टाइम से पहले होता है, जिससे प्रोग्राम की efficiency बढ़ती है और साथ ही इसके द्वारा प्रोग्राम की execution स्पीड भी एनहान्स होती है.
Static Binding एक प्रोग्राम को बहुत efficient तरीके से बनाता है लेकिन इसमें program में flexibility नहीं होती है क्यूंकि इसमें ‘values of variable’ और ‘function calling’ प्रोग्राम में पहले से ही डिफाइन होते हैं. Static binding को प्रोग्राम में कोडिंग के समय इम्प्लीमेंट किया जाता है.
डायनामिक बाइंडिंग क्या है | What is Dynamic Binding in Hindi !!
Dynamic Binding में function को call या variable को value असाइन रन टाइम पर किया जाता है. Dynamic binding को OOP में रन टाइम ‘पॉलीमॉर्फिज्म’ और ‘इनहेरिटेंस’ के साथ जोड़ा जा सकता है. Dynamic binding प्रोग्राम के execution को flexible बनाता है, क्योंकि इसके द्वारा यह तय किया जा सकता है कि वेरिएबल को किस वैल्यू को असाइन किया जाना है और कौन सा फंक्शन call किया जाना है प्रोग्राम के execution के समय. लेकिन ये static binding से slow होता है क्यूंकि इसमें जानकारी रन टाइम पर दी गई है.
Difference between Static Binding and Dynamic Binding in Hindi | स्टेटिक बाइंडिंग और डायनामिक बाइंडिंग में क्या अंतर है !!
# Compile time पर होने वाले Events जैसे: फंक्शन कॉल को फंक्शन कोड से जोड़ना या वेरिएबल को वैल्यू असाइन करना, आदि स्टेटिक बाइंडिंग कहलाती है और जब यही टास्क को run time के दौरान पुरे होते हैं, तो उन्हें डायनामिक बाइंडिंग कहते हैं.
# स्टेटिक बाइडिंग में Efficiency बढ़ती है क्यूंकि इसमें सारा डाटा साथ में होता है एक्सेक्यूशन से पहले जबकि डायनामिक बाइंडिंग में डाटा रनटाइम पर अधिग्रहित किया जाता है, इसलिए ये उतना efficient नहीं होता है.
# स्टेटिक बाइंडिंग में program में flexibility नहीं होती है क्यूंकि इसमें ‘values of variable’ और ‘function calling’ प्रोग्राम में पहले से ही डिफाइन होते हैं जबकि डायनामिक बाइंडिंग प्रोग्राम के execution को flexible बनाता है, क्योंकि इसके द्वारा यह तय किया जा सकता है कि प्रोग्राम के execution के समय वेरिएबल को किस वैल्यू को असाइन किया जाना है और कौन सा फंक्शन call किया जाना है.
# स्टेटिक बाइंडिंग प्रोग्राम के execution को तीव्र करता है क्यूंकि इसमें प्रोग्राम को execute करने के लिए आवश्यक सभी डेटा execution से पहले पता होते हैं जबकि डायनामिक बाइंडिंग धीमी गति से प्रोग्राम को execute करता है क्यूंकि इसमें सभी जरूरी डाटा कम्पाइलर को execution के समय पता चलते हैं.
# Static binding को early binding भी कहा जाता है क्यूंकि इसमें फंक्शन कोड फंक्शन कॉल के साथ compile time पर associate किये जाते हैं जो dynamic binding से पहले होते हैं क्यूंकि dynamic binding में फंक्शन कोड फंक्शन कॉल के साथ run time पर associate किये जाते हैं.
हम उम्मीद करते है कि आप सबको हमारे द्वारा दी गयी जानकारी पसंद आयी होगी और आपके काफी हद काम भी आयी होगी. यदि फिर भी आपको कोई गलती हमारे ब्लॉग में दिखे या आपके मन में कोई अन्य सवाल या सुझाव आये तो वो भी आप हमसे पूछ व बता सकते हैं. हम पूरी कोशिश करेंगे उस सवाल का जबाब आपको देने और आपके सुझाव को समझने और उसे पूरा करने की. धन्यवाद !!!