پارامترها و Overloading

پارامترهای متد، مقدار پیش‌فرض و سربارگذاری (Overloading) در جاوا.

پارامترها و آرگومان‌ها

static int add(int a, int b) {   ← پارامترها
    return a + b;
}

add(5, 3);   ← آرگومان‌ها

جاوا مقدار پیش‌فرض ندارد!

برخلاف برخی زبان‌ها، جاوا از default parameters پشتیبانی نمی‌کند — راه حل: Overloading

Overloading — چند متد هم‌نام

متدهای هم‌نام با پارامترهای متفاوت:

static int add(int a, int b) {
    return a + b;
}

static int add(int a, int b, int c) {
    return a + b + c;
}

static double add(double a, double b) {
    return a + b;
}

// فراخوانی — کامپایلر خودش درست را انتخاب می‌کند
add(1, 2);        ← متد اول
add(1, 2, 3);     ← متد دوم
add(1.5, 2.5);    ← متد سوم

قواعد Overloading

مثال عملی: متد greet

static String greet() {
    return "سلام!";
}

static String greet(String name) {
    return "سلام " + name + "!";
}

static String greet(String name, String title) {
    return "سلام " + title + " " + name + "!";
}

پاس دادن با مقدار (Pass by Value)

جاوا همیشه by value پاس می‌دهد — برای انواع اولیه، تغییر داخل متد اثر بیرون ندارد:

static void change(int x) {
    x = 100;   ← فقط کپی تغییر می‌کند
}

int num = 5;
change(num);
System.out.println(num);   ← 5 (تغییر نکرد!)
آرایه‌ها و اشیاء استثنا هستند — مرجع آن‌ها کپی می‌شود، پس محتوا قابل تغییر است (مثل دیدیم در مبحث آرایه‌ها).

این مبحث بخشی از دوره آموزش کامل جاوا است.

ابزارهای مرتبط