method overloading
λ©μλ μ€λ²λ‘λ©
κ°μ λ©μλ μ΄λ¦, λ€λ₯Έ λ§€κ°λ³μ
λ€λ₯Έ μλ£νμ κ°λ€λ‘ κ°μ μ±μ§μ μμ μ μ μν λ
package sec04.chap06;
public class Ex01 {
public static void main(String[] args) {
int res1 = add(1, 2); // π΄ μ€ν
μΈν¬λ‘ λ€μ΄κ° λ³Ό κ²
int res2 = add(3, 4, 5);
double res3 = add(1.2, 3.4);
String res4 = add("λ‘λ³΄νΈ νκΆ", 'V');
String res5 = add('X', "Men");
}
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; }
// λ§€κ°λ³μμ μλ£ν μμκ° λ€λ¦
static String add(String a, char b) { return a + b; }
static String add(char a, String b) { return a + b; }
// β οΈ λ°ν μλ£νμ΄ λ€λ₯Έ κ²μ μ€λ²λ‘λ© μ λ¨ - λ€λ₯Έ ν¨μλͺ
μ¬μ©
// static double add(int a, int b) { return (double) (a + b); }
}
μ¬κ· λ©μλ
μ€μ€λ‘λ₯Ό νΈμΆνλ λ©μλ
νΈμΆμλ§λ€ λ©λͺ¨λ¦¬μ μ€νμ΄ μΆμ - μ΄κ³Όμ μ€νμ€λ²νλ‘μ° stack overflow μλ¬
package sec04.chap06;
public class Ex02 {
public static void main(String[] args) {
upTo5(0);
// upTo5(2);
// upTo5(4);
}
static void upTo5 (int start) {
System.out.println(start);
if (start < 5) {
upTo5(++start);
} else {
System.out.println("-- μ’
λ£ --");
}
}
}

λ€λ₯Έ λ©μλλ₯Ό νΈμΆν λ©μλλ νΈμΆλ λ©μλκ° μ’ λ£λ λκΉμ§ λ©λͺ¨λ¦¬μ λ¨μ μμ
νΈμΆμ΄ λ°λ³΅λ μλ‘ μμ κ°μ΄ λ©μλλ€μ΄ μμ΄κ² λ¨
Last updated