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