Encapsulation (एनकैप्सुलेशन)
एनकैप्सुलेशन चार मौलिक OOP अवधारणाओं में से एक है। अन्य तीन इनहेरिटेंस, पॉलीमॉर्फिज्म और एब्स्ट्रैक्शन हैं।
Java में एनकैप्सुलेशन डेटा (वेरिएबल्स) और डेटा पर कार्य करने वाले कोड (मेथड्स) को एक सिंगल यूनिट के रूप में लपेटने का एक तंत्र है। एनकैप्सुलेशन में, एक क्लास के वेरिएबल्स अन्य क्लासेज से छिपे होते हैं और केवल उनके वर्तमान क्लास के मेथड्स के माध्यम से एक्सेस किए जा सकते हैं। इसलिए, इसे डेटा हाइडिंग के रूप में भी जाना जाता है।
Java में एनकैप्सुलेशन प्राप्त करने के लिए −
- क्लास के वेरिएबल्स को private घोषित करें।
- वेरिएबल्स के मानों को संशोधित और देखने के लिए पब्लिक सेटर और गेटर मेथड्स प्रदान करें।
Abstraction (एब्स्ट्रैक्शन)
एब्स्ट्रैक्शन घटनाओं के बजाय विचारों से निपटने की गुणवत्ता है। उदाहरण के लिए, जब आप ई-मेल के मामले पर विचार करते हैं, तो जैसे ही आप एक ई-मेल भेजते हैं क्या होता है, आपके ई-मेल सर्वर द्वारा उपयोग किया जाने वाला प्रोटोकॉल जैसे जटिल विवरण उपयोगकर्ता से छिपे होते हैं। इसलिए, ई-मेल भेजने के लिए आपको केवल सामग्री टाइप करने, रिसीवर का पता बताने और सेंड पर क्लिक करने की आवश्यकता होती है।
इसी तरह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, एब्स्ट्रैक्शन उपयोगकर्ता से कार्यान्वयन विवरण छिपाने की एक प्रक्रिया है, केवल कार्यक्षमता उपयोगकर्ता को प्रदान की जाएगी। दूसरे शब्दों में, उपयोगकर्ता को इस बात की जानकारी होगी कि ऑब्जेक्ट क्या करता है बजाय इसके कि यह कैसे करता है।
Java में, एब्स्ट्रैक्शन Abstract क्लासेज और इंटरफेस का उपयोग करके प्राप्त किया जाता है।