Vivasoft-logo

এনক্যাপসুলেশন কি? (Encapsulation)

এনক্যাপসুলেশন কি?
এনক্যাপসুলেশন হলো অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এর মৌলিক বৈশিষ্ট্য সমূহের একটি। অনেক প্রোগ্রামার বিশেষ করে বিগিনার লেভেলে সঠিক ভাবে এনক্যাপসুলেশন বিষয়টি বুঝতে সমস্যায় পড়তে হয় । সুতরাং এখানে বিষয়টি যথাসম্ভব সহজ ভাবে বুজানোর চেষ্টা করবো।
এনক্যাপসুলেশন শব্দটি শুনলে প্রথম যে বিষয়টি মাথায় আসে সেটি হলো ক্যাপসুল । এনক্যাপসুলেশন ধারণাটির সাথে ক্যাপসুল এর খুবই মিল আছে, ,ক্যাপসুল যেভাবে মেডিসিন গুলোকে তার মধ্যে বাইন্ড করে রাখে অনুরূপভাবে এনক্যাপসুলেশন প্রসেসে ডাটা এবং বিহেভিওর এর ইউনিট গুলোকে একক ইউনিট এর মধ্যে বাইন্ড করে রাখে। সুতরাং আমরা এনক্যাপসুলেশনকে কভার বা লেয়ার হিসেবে ধরে নিতে পারি যা কিনা পরস্পর সম্পর্কিত ডাটা এবং বিহেভিওর গুলোকে একক ইউনিটে বাইন্ড করে রাখে ।

এনক্যাপসুলেশন ধারণাটি নিচের একে অপরের সাথে সম্পর্কিত দুটি ধারণা অথবা যেকোনো একটিকে বুঝায়।
এনক্যাপসুলেশনের মাধ্যমে ডাটাতে সরাসরি অ্যাক্সেস সীমাবদ্ধ করার জন্য একটি প্রক্রিয়া।
এনক্যাপসুলেশনের মাধ্যমে ফিল্ড এবং মেথডের একত্রিকরণ কে বুঝায়,যা একক ইউনিটের মধ্যে সেই ফিল্ডের উপর কাজ করে,সাধারণত সেই একক ইউনিট কে ক্লাস (Class) ,ইন্টারফেস (Interface) ,এনাম (Enum) ইত্যাদি বলা হয় ।
সাধারণত সব অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (object oriented programming) এ এনক্যাপসুলেশন সাপোর্ট করে ,অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এটি ইউনিক ধারণা নয়। এদের মধ্যে এবস্ট্রাক্ট ডাটা টাইপের ব্যবহার ,মডিউল ও লাইব্রেরির মাধ্যমেও এনক্যাপসুলেশন হয়ে থাকে।
ইতিমধ্যে আমরা ক্লাস সম্পর্কে জেনেছি। যা নিচের চিত্রের মাধ্যমে এনক্যাপসুলেশন স্পষ্ট করা হয়েছে।

encapsulation