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

জাভায় স্ট্যাটিক বাইন্ডিং ও ডাইনামিক বাইন্ডিং-এর পার্থক্য

বাইন্ডিং (Binding) হলো মেথড কল এবং মেথডের আসল ইমপ্লিমেন্টেশনের মধ্যে লিংক তৈরি করার মেকানিজম। জাভাতে পলিমরফিজম কনসেপ্ট অনুযায়ী অবজেক্টের অনেক রূপ হতে পারে। অবজেক্ট রূপ কম্পাইল টাইম এবং রান টাইমে রিসল্ভ করা যায়। যদি মেথড কল ও ইমপ্লিমেন্টেশনের মধ্যে লিংকিং কম্পাইল টাইমে রিসল্ভ হয়, তবে এটাকে স্ট্যাটিক বাইন্ডিং বলা হয়। আর যদি রান টাইমে রিসল্ভ হয়, তবে এটাকে ডাইনামিক বাইন্ডিং বলা হয়। ডাইনামিক বাইন্ডিং অবজেক্ট ব্যবহার করে বাইন্ডিং রিসল্ভ করে কিন্তু স্ট্যাটিক বাইন্ডিং ক্লাসের টাইপ এবং ফিল্ড ব্যবহার করে।

Sr. No. Key Static Binding Dynamic Binding

1

Basic

কম্পাইল টাইমে রিসল্ভ হয়

রান টাইমে রিসল্ভ হয়

2

Resolve mechanism

স্ট্যাটিক বাইন্ডিং ক্লাসের টাইপ ও ফিল্ড ব্যবহার করে

ডাইনামিক বাইন্ডিং অবজেক্ট ব্যবহার করে বাইন্ডিং রিসল্ভ করে

3

Example

ওভারলোডিং (Overloading) স্ট্যাটিক বাইন্ডিং উদাহরণ

মেথড ওভাররাইডিং (Method overriding) ডাইনামিক বাইন্ডিং উদাহরণ

4

Type of Methods

প্রাইভেট, ফাইনাল, স্ট্যাটিক মেথড ও ভেরিয়েবল স্ট্যাটিক বাইন্ডিং ব্যবহার করে

ভার্চুয়াল মেথড ডাইনামিক বাইন্ডিং ব্যবহার করে

Static এবং Dynamic Binding উদাহরণ

public class FastFood {
    public void create() {
        System.out.println("Creating in FastFood class");
    }
}
public class Pizza extends FastFood {
    public void create() {
        System.out.println("Creating in Pizza class");
    }
}
public class Main {
    public static void main(String[] args) {
        FastFood fastFood = new FastFood();
        fastFood.create();
        // Dynamic binding
        FastFood pza = new Pizza();
        pza.create();
    }
}
  1. জাভাতে Serialization এবং Externalization-এর পার্থক্য

  2. জাভাতে Iterator এবং Enumeration-এর পার্থক্য

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

  4. জাভাতে স্ট্যাটিক বাইন্ডিং এবং ডাইনামিক বাইন্ডিং