Constructor (কনস্ট্রাক্টর) হলো অবজেক্ট ইনিশিয়ালাইজ করার জন্য স্পেশাল মেথড, আর Method (মেথড) হলো নির্দিষ্ট স্টেটমেন্ট এক্সিকিউট করার জন্য। Constructor এবং Method-এর মধ্যে গুরুত্বপূর্ণ পার্থক্য নিচে দেওয়া হলো:
| ক্র. নং | কী | Constructor | Method |
|---|---|---|---|
| ১ | উদ্দেশ্য (Purpose) | Constructor অবজেক্ট তৈরি ও ইনিশিয়ালাইজ করতে ব্যবহৃত হয়। | Method নির্দিষ্ট স্টেটমেন্ট এক্সিকিউট করতে ব্যবহৃত হয়। |
| ২ | ইনভোকেশন (Invocation - ১) | Constructor সিস্টেম দ্বারা ইমপ্লিসিটলি (implicitly) ইনভোক করা হয়। | Method প্রোগ্রাম কোডে এক্সপ্লিসিটলি (explicitly) কল করতে হয়। |
| ৩ | ইনভোকেশন (Invocation - ২) | Constructor new কীওয়ার্ড ব্যবহার করে অবজেক্ট তৈরি করার সময় ইনভোক হয়। |
Method তার নাম দিয়ে কল করলে ইনভোক হয়। |
| ৪ | রিটার্ন টাইপ (Return Type) | Constructor-র কোনো রিটার্ন টাইপ নেই (void লিখতেও হয় না)। | Method-র রিটার্ন টাইপ থাকে (void বা অন্য টাইপ)। |
| ৫ | অবজেক্ট (Object) | Constructor অস্তিত্বহীন একটি অবজেক্ট ইনিশিয়ালাইজ করে। | Method শুধু বিদ্যমান (existing) অবজেক্টের ওপর কল করা যায়। |
| ৬ | নাম (Name) | Constructor-র নাম ক্লাসের নামের সাথে একই হতে হবে। | Method-র নাম ক্লাসের নামের সাথে একই হতে পারে না (কনভেনশন অনুযায়ী)। |
| ৭ | ইনহেরিটেন্স (Inheritance) | Constructor সাবক্লাসে ইনহেরিট হয় না। | Method সাবক্লাসে ইনহেরিট হয়। |
Constructor vs Method উদাহরণ
JavaTester.java
public class JavaTester {
int num;
JavaTester(){
num = 3;
System.out.println("Constructor invoked. num: " + num);
}
public void init(){
num = 5;
System.out.println("Method invoked. num: " + num);
}
public static void main(String args[]) {
JavaTester tester = new JavaTester();
tester.init();
}
}
আউটপুট
Constructor invoked. num: 3 Method invoked. num: 5