কম্পিউটার টিউটোরিয়াল

জাভাতে Association এবং Aggregation-এর পার্থক্য

Association (অ্যাসোসিয়েশন)

অবজেক্টের ভাষায় Association বলতে দুটি সম্পর্কিত অবজেক্টের মধ্যে "has a" (হেস-এ) রিলেশনশিপ বোঝায়। উদাহরণস্বরূপ, একজন কর্মচারির (Employee) একটি কমিউনিকেশন অ্যাড্রেস (Address) থাকে।

class Employee {
    String name;
    Address communicationAddress;
}

class Address {
    String address;
}

Aggregation (এগরিগেশন)

Aggregation বলতে দুটি সম্পর্কিত অবজেক্টের মধ্যে "has a+" রিলেশনশিপ বোঝায়। উদাহরণস্বরূপ, একটি ডিপার্টমেন্টের (Department) অধীনে একাধিক কর্মচারি (Employee) থাকে। এটি প্যারেন্ট ক্লাসে চাইল্ড অবজেক্টের কালেকশন থাকাকে বোঝায়।

class Department {
    String name;
    List employees;
}

class Employee {
    String name;
}

Association এবং Aggregation-এর মধ্যে পার্থক্য

ক্র. নং কী Association Aggregation
১ সংজ্ঞা Association হলো দুটি ক্লাসের মধ্যে "has a" রিলেশনশিপ যারা একে অপর ব্যবহার করে। Aggregation হলো দুটি ক্লাসের মধ্যে "has a+" রিলেশনশিপ যেখানে একটি ক্লাস অন্য ক্লাসের অবজেক্টের কালেকশন ধারণ করে।
২ ফ্লেক্সিবিলিটি (Flexibility) ইনফ্লেক্সিবল (কঠোর) স্বভাবের। ফ্লেক্সিবল (নমনীয়) স্বভাবের।
৩ লিঙ্কেজ (Linkage) Association বজায় রাখতে লিঙ্কেজ প্রয়োজন। অবজেক্টের মধ্যে লিঙ্কেজ বাধ্যতামূলক নয়।
৪ UML নোটেশন Association রিপ্রেজেন্ট করতে লাইন (line) ব্যবহার করা হয়। Aggregation রিপ্রেজেন্ট করতে অ্যাসেম্বলি ক্লাসের পাশে ডায়মন্ড শেপ (diamond shape) ব্যবহার করা হয়।
  1. এগ্রিগেশন (Aggregation) এবং অ্যাসোসিয়েশন (Association) এর পার্থক্য

  2. জাভাতে ইনহেরিটেন্স এবং কম্পোজিশনের পার্থক্য

  3. জাভাতে Thread এবং Runnable-এর পার্থক্য

  4. জাভাতে Exception এবং Error-এর পার্থক্য