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