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