মেথড (Methods)
মেথড কী? (What's a Method?)
মেথডকে (Method) একটি রেসিপির কার্ডের (recipe card) মতো ভাবতে পারেন। প্রতিবার কুকিজ বা বিস্কুট কীভাবে বানাতে হবে তা বিস্তারিত বলার বদলে, আপনি রেসিপিটি একবার লিখে রাখেন এবং শুধু বলেন "কুকিজের রেসিপিটা অনুসরণ করো।" জাভাতে মেথড আপনাকে কোডের একটি অংশকে একসাথে গুছিয়ে রাখতে, এর একটি নাম দিতে এবং যখনই প্রয়োজন পড়বে তখনই তাকে ডাকতে বা কল (call) করতে সাহায্য করে।
জাভার প্রতিটি মেথডের কয়েকটি অংশ থাকে:
- রিটার্ন টাইপ (Return type) — মেথডটি কাজ শেষে কী ফেরত দেয়? (যেমন
int,String, অথবা কিছু ফেরত না দিলেvoid) - নাম (Name) — আপনি মেথডটিকে কী নামে ডাকবেন (যেমন
calculateTax,greet) - প্যারামিটার (Parameters) — কাজ করার জন্য এর কী কী উপাদান বা ইনপুট প্রয়োজন
- বডি (Body) —
{ }এর ভেতরে থাকা আসল নির্দেশাবলী বা কোড
আপাতত আমরা static মেথড নিয়ে কাজ করব, যাতে এগুলোকে সরাসরি main() মেথড থেকে কল করা যায়। আমরা যখন ক্লাস (classes) নিয়ে আলোচনা করব, তখন আপনি নন-স্ট্যাটিক (non-static) মেথড সম্পর্কেও জানতে পারবেন।
আপনার প্রথম মেথড (Your First Methods)
মেথড ওভারলোডিং — একই নাম, ভিন্ন উপাদান (Method Overloading — Same Name, Different Ingredients)
জাভা আপনাকে একই নামের একাধিক মেথড রাখার সুযোগ দেয়, যতক্ষণ না তারা ভিন্ন ভিন্ন প্যারামিটার গ্রহণ করে। এই চমৎকার সুবিধাটিকে বলা হয় ওভারলোডিং (overloading)। এটি অনেকটা "চা বানানোর" রেসিপির মতো — একটি রেসিপি দিয়ে রং চা (কোনো প্যারামিটার নেই) বানানো যায়, আরেকটি দিয়ে দুধ চা (দুধের প্যারামিটার) এবং অন্যটি দিয়ে মশলা চা (দুধ + মশলার প্যারামিটার) তৈরি করা যায়৷
আপনি কোন উপাদান বা আর্গুমেন্ট (argument) পাঠাচ্ছেন, তার ওপর ভিত্তি করে জাভা নিজে থেকেই বুঝে নেয় যে কোন মেথডটিকে কল করতে হবে। এটি মূলত আর্গুমেন্টগুলোর সংখ্যা এবং টাইপের (type) ওপর নজর রাখে।