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

জাভা মেথড ব্যবহার করার পদ্ধতি

অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ে, মেথড হল নির্দিষ্ট টাস্ক সম্পাদন করার কোড ব্লক। উদাহরণস্বরূপ, একটি মেথড চেক করতে পারে যে একটি কাস্টমারের ব্যাংক অ্যাকাউন্টে কেনা করার জন্য যথেষ্ট টাকা আছে কিনা অথবা ছাত্রদের নামের লিস্টকে অ্যালফাবেটিক্যালি সোর্ট করতে পারে।

এই টিউটোরিয়ালে উদাহরণসহ জাভাতে মেথড কীভাবে ব্যবহার করতে হয় তা আলোচনা করা হয়েছে। আমরা মেথড কীভাবে তৈরি করতে হয়, জাভা মেথড সিনট্যাক্স, এবং মেথড কীভাবে কল করতে হয় তা অন্বেষণ করব। এই গাইড পড়া শেষে আপনি জাভা মেথড এক্সপার্টের মতো ব্যবহার করতে পারবেন।

জাভা মেথড পরিচিতি

জাভা মেথড নির্দিষ্ট টাস্ক সম্পাদনকারী কোড ব্লক সংজ্ঞায়িত করতে ব্যবহৃত হয়। মেথডকে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ে ফাংশনও বলা হয়।

ডেভেলপাররা তাদের কোডে মেথড ব্যবহার করার দুটি প্রধান কারণ আছে। প্রথম, মেথড ডেভেলপারদের কোড রিয়ুজ করতে দেয়। একবার মেথড ঘোষণা করলে, আপনি আপনার কোডে একাধিকবার সেটি রিয়ুজ করতে পারেন। তাই, যদি আপনাকে একই টাস্ক একাধিকবার এক্সিকিউট করতে হয়, আপনি কোড বারবার রিটাইপ করার বদলে মেথড কল করতে পারেন।

মেথড আপনার কোডকে আরও রিডেবলও করে কারণ আপনার কোড একটি নির্দিষ্ট ব্লকে তার নিজস্ব নামের সাথে সংরক্ষিত থাকে, আপনি যে মেইন প্রোগ্রাম লিখছেন তার ভেতরে না।

জাভাতে দুটি ধরনের মেথড আছে: স্ট্যান্ডার্ড লাইব্রেরি মেথড এবং ইউজার-ডিফাইনড মেথড।

স্ট্যান্ডার্ড লাইব্রেরি মেথডগুলো জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজে বিল্ট-ইন। উদাহরণস্বরূপ, println() মেথড java.io.PrintStream লাইব্রেরির অংশ।

বিল্ট-ইন println() মেথড ব্যবহার করে একটি প্রোগ্রামের উদাহরণ:

class Main { public static void main(String[] args) { System.out.println("This is a print statement."); } }

আমাদের কোড রিটার্ন করে:

This is a print statement.

দूसरी পাশে, ইউজার-ডিফাইনড মেথড হল যেসব মেথড একটি জাভা ক্লাসের ভেতরে সংজ্ঞায়িত হয়।

জাভা ইউজার-ডিফাইনড মেথড

জাভাতে, ইউজার-ডিফাইনড মেথড ইউজার দ্বারা তৈরি হয় এবং আপনার প্রয়োজন অনুযায়ী একটি ক্লাসের ভেতরে সংজ্ঞায়িত হয়। একটি ইউজার-ডিফাইনড মেথড আপনার লেখা একটি কোড ব্লক ধারণ করে যা আপনার কোডে একটি নির্দিষ্ট ফাংশনে থাকবে।

মেথড ব্যবহার শুরু করার আগে, আপনাকে একটি মেথড ডিফাইন (বা ঘোষণা) করতে হবে। জাভাতে মেথড ঘোষণার সিনট্যাক্স নিচে দেওয়া হলো:

modifier static returnType methodName (arguments) { // Code goes here }

এটি ভাঙে ব্যাখ্যা করি:

  • modifier হল ফাংশন যে অ্যাক্সেস টাইপ ব্যবহার করবে (public, private, ইত্যাদি)।
  • static হল একটি অপশনাল কীওয়ার্ড যা আপনার মেথডকে ক্লাসের অবজেক্ট তৈরি না করেই অ্যাক্সেস করতে দেয়।
  • returnType হল মেথড দ্বারা রিটার্ন করা ডেটার টাইপ (int, float, String, double, ইত্যাদি)।
  • methodName হল আপনি যে মেথড ঘোষণা করছেন তার নাম।
  • arguments হল মেথডে পাস করা ভ্যালুগুলো। এই প্যারামিটার লিস্টে শূন্য, এক, বা একাধিক ভ্যালু থাকতে পারে।

জাভা প্রোগ্রামে মেথড ব্যবহার করার একটি উদাহরণ দেখা যাক যাতে বোঝা যায় কীভাবে কাজ করে।

মনে করুন আমরা একটি লোকাল কফি শপের জন্য একটি অ্যাপ বানাচ্ছি যা তাদের অর্ডার প্রসেস করে। আমরা প্রোগ্রামের শেষে "The order is ready" মেসেজ প্রিন্ট করার একটি প্রোগ্রাম তৈরি করতে চাই। আমরা নিচের কোড ব্যবহার করে এই টাস্ক সম্পন্ন করতে পারি:

class Main { public static void orderReady() { System.out.println("The order is ready."); } }

আমাদের কোডে, আমরা orderReady() নামে একটি মেথড ঘোষণা করেছি। প্রথম লাইনে, আমরা Main নামে একটি ক্লাস ঘোষণা করি যেখানে আমাদের মেইন প্রোগ্রাম লেখা আছে।

পরবর্তী, আমরা orderReady() নামে একটি মেথড তৈরি করেছি। orderReady() কোনো আর্গুমেন্ট গ্রহণ করে না এবং কোনো মান রিটার্ন করে না।

যখন orderReady() মেথড কল করা হয়, মেথড বডির কোড এক্সিকিউট হবে। তাই, The order is ready. মেসেজ কনসোলে প্রিন্ট হবে।

এখন পর্যন্ত, আমাদের কোড কিছুই করে না। কারণ আমরা আমাদের মেথড কল করিনি। আমাদের মেথডের কোড রান করতে, আমাদের সেটি কল করতে হবে। আমাদের মেথড কীভাবে কল করতে হয় সেটি নিচে দেওয়া হলো:

import java.util.Scanner; class Main { public static void orderReady() { System.out.println("The order is ready."); } public static void main(String[] args) { orderReady(); } }

যখন আমরা আমাদের কোড রান করি, নিচের রেসপন্স রিটার্ন হয়:

The order is ready.

আমাদের উপরের কোডে, আমরা মেইন ফাংশন সংজ্ঞায়িত করেছি, যাতে আমাদের মেইন প্রোগ্রামের কোড থাকে। তারপর আমরা orderReady ফাংশন orderReady() ব্যবহার করে কল করেছি।

আর্গুমেন্টসহ জাভা মেথড

অতিরিক্তভাবে, জাভা মেথড মেথড মাধ্যমে পাস করা আর্গুমেন্ট গ্রহণ করতে পারে, যা আপনাকে ডেটা একটি মেথডে পাস করতে দেয়। মনে করুন আমরা আমাদের মেসেজকে Order #[order number] is ready. প্রিন্ট করতে চাই, যা বারিস্টার জন্য স্পষ্ট করবে কোন অর্ডার রেডি। আমরা এটি নিচের কোড ব্যবহার করে করতে পারি:

class Main { public static void orderReady(int orderNumber) { System.out.println("Order #" + orderNumber + " is ready."); } public static void main(String[] args) { orderReady(12); } }

যখন আমরা আমাদের কোড রান করি, নিচের রেসপন্স রিটার্ন হয়:

Order #12 is ready.

এই উদাহরণে, আমাদের কোড orderNumber নামে একটি প্যারামিটার গ্রহণ করে। আমরা উপরে ১২ ভ্যালু orderNumber প্যারামিটার হিসেবে পাস করি, যা তারপর orderReady() মেথড দ্বারা পড়া হয়। orderReady() মেথড রিটার্ন করে, Order #12 is ready. উপরের উদাহরণে, যেখানে ১২ হলো আমরা orderNumber প্যারামিটারে পাস করা ভ্যালু।

রিটার্ন ভ্যালুসহ জাভা মেথড

জাভা মেথড মেইন প্রোগ্রামে মানও রিটার্ন করতে পারে। মনে করুন আমরা একটি অ্যাপ তৈরি করছি যা দুটি সংখ্যা একসাথে গুণ করবে। আমরা এই সংখ্যাগুলো একটি ফাংশনে গুণ করতে চাই, তারপর ফলাফল মেইন প্রোগ্রামে রিটার্ন করতে চাই।

আমরা এটি নিচের কোড ব্যবহার করে করতে পারি:

class MultiplyNumbers { public static int multiplyNumbers(int numberOne, int numberTwo) { return numberOne * numberTwo; } public static void main(String[] args) { int numberOne = 7; int numberTwo = 9; int multiplied = multiplyNumbers(numberOne, numberTwo); System.out.println(numberOne + " x " + numberTwo + " is: " + multiplied); } }

আমাদের কোড রিটার্ন করে:

7 x 9 is: 63

আমাদের কোডে, multiplyNumbers() মেথড দুটি সংখ্যা একসাথে গুণ করতে ব্যবহৃত হয়। যখন আমরা multiplyNumbers কল করি, আমাদের দুটি মেথড প্যারামিটার নির্দিষ্ট করতে হয়, যেগুলো হলো যে সংখ্যাগুলো আমরা গুণ করতে চাই। উপরের উদাহরণে, আমরা যেসব সংখ্যা গুণ করছি সেগুলো ৭ এবং ৯।

তারপর, আমাদের multiplyNumbers() মেথড এই দুটি সংখ্যা একসাথে গুণ করে এবং গুণফল রিটার্ন করে। এই সংখ্যাটি তারপর মেইন প্রোগ্রামে পাস করা হয়।

আমাদের প্রোগ্রাম রান করলে কী হয় তা ধাপে ধাপে:

  1. numberOne ভেরিয়েবল ঘোষণা করা হয় এবং ৭ মান বরাদ্দ করা হয়।
  2. numberTwo ভেরিয়েবল ঘোষণা করা হয় এবং ৯ মান বরাদ্দ করা হয়।
  3. multiplyNumbers() কল করা হয় এবং numberOne এবং numberTwo ভেরিয়েবলগুলো প্যারামিটার হিসেবে নির্দিষ্ট করা হয়। এই মেথডের ফলাফল multiplied ভেরিয়েবলে বরাদ্দ করা হয়।
  4. একটি মেসেজ কনসোলে প্রিন্ট হয় যা বলে "[Number1] * [Number2] is: [Result]", যেখানে "Number1" হলো numberOne এর ভ্যালু, "Number2" হলো numberTwo এর ভ্যালু, এবং "Result" হলো multiplied এর ভ্যালু।

উপসংহার

মেথড অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ে একটি অতywiz অংশ এবং এটি আপনাকে একটি নির্দিষ্ট টাস্ক সম্পাদনকারী কোড ব্লক সংজ্ঞায়িত করতে দেয় যা একাধিকবার রিয়ুজ করা যায়। মেথড জাভাতে কোডকে আরও রিডেবল এবং ইফিশিয়েন্ট बनाने জন্য ব্যবহৃত হয়। 

এই টিউটোরিয়ালে জাভাতে মেথড কীভাবে ব্যবহার করতে হয়, জাভাতে মেথড কীভাবে কল করতে হয়, এবং জাভা মেথডে প্যারামিটার এবং রিটার্ন স্টেটমেন্ট কীভাবে ব্যবহার করতে হয় তা আলোচনা করা হয়েছে। এই টিউটোরিয়াল পড়া শেষে, আপনি জাভাতে মেথড এক্সপার্টের মতো ব্যবহার করতে পারবেন।

  1. জাভা Math.random ব্যবহার করার পদ্ধতি

  2. C#-এ মেথড কীভাবে সংজ্ঞায়িত করবেন?

  3. জাভাতে ডিফল্ট মেথডের ব্যবহারিতা

  4. জাভাতে ডিফল্ট মেথড ব্যবহার করে ডায়ামন্ড সমস্যা সমাধান