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

জাভাতে ক্লাস এবং ইন্টারফেসের পার্থক্য

এই পোস্টে আমরা জাভাতে একটি ক্লাস (Class) এবং একটি ইন্টারফেস (Interface) এর পার্থক্য বুঝব।

ক্লাস (Class)

  • এটি একটি অবজেক্টে থাকা উচিত অ্যাট্রিবিউট এবং বিহেভিয়ার সম্পর্কে বলে।
  • এতে অ্যাবস্ট্র্যাক্ট মেথড ও নরমাল মেথড দুটোই থাকতে পারে।
  • তৈরির কীওয়ার্ড: 'class'।
  • এটি ইনস্ট্যানশিয়েট (instantiate) করা যায়।
  • এটি মাল্টিপল ইনহেরিটেন্স সাপোর্ট করে না।
  • এটি একটি ক্লাস ইনহেরিট করতে পারে।
  • ক্লাসের প্যারেন্টের নাম (যদি থাকে) 'extends' কীওয়ার্ড দ্বারা সত্তা করা হয়।
  • এক ক্লাসের মেম্বারগুলো পাবলিক, প্রাইভেট বা প্রোটেক্টেড হতে পারে।
  • ক্লাস বডি '{' এবং '}' দিয়ে ঘেরা থাকে।
  • ভেরিয়েবলগুলো স্ট্যাটিক, ফাইনাল বা নরমাল হতে পারে।

ইন্টারফেস (Interface)

  • এতে ক্লাস দ্বারা ইমপ্লিমেন্ট হওয়া বিহেভিয়ার থাকে।
  • তৈরির কীওয়ার্ড: 'interface'।
  • এটি ইনস্ট্যানশিয়েট করা যায় না।
  • এটি মাল্টিপল ইনহেরিটেন্স সাপোর্ট করে।
  • এতে শুধু অ্যাবস্ট্র্যাক্ট মেথড থাকে।
  • ইন্টারফেস ইনহেরিট করতে 'extends' ব্যবহার করে।
  • সभी ভেরিয়েবল স্ট্যাটিক এবং ফাইনাল।
  • এটি কোনো ক্লাস ইনহেরিট করতে পারে না।
  • এটি ক্লাসের জন্য একটি ব্লুপ্রিন্ট (blueprint)।
  • এটি বলে ক্লাসকে কী করতে হবে, কিভাবে করবে না।
  • ইন্টারফেসের মেম্বারগুলো ডিফল্টভাবে পাবলিক।
  1. জাভাতে Abstract Class এবং Interface-এর পার্থক্য

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

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

  4. অ্যাবস্ট্রাক্ট ক্লাস এবং ইন্টারফেসের পার্থক্য