written by sohyeon, hyemin π‘
ν ν΄λμ€ λ΄μ κ°μ μ΄λ¦μ λ©μλλ₯Ό μ¬λ¬κ° μ μνλ κ²
ν ν΄λμ€ λ΄μ μ΄λ―Έ μ¬μ©νλ €λ μ΄λ¦κ³Ό κ°μ μ΄λ¦μ κ°μ§ λ©μλκ° μλλΌλ
맀κ°λ³μμ κ°μ λλ νμ
μ΄ λ€λ₯΄λ©΄, κ°μ μ΄λ¦μ μ¬μ©ν΄μ λ©μλλ₯Ό μ μν μ μμ
μ€λ²λ‘λ©λ λ©μλλ€μ 맀κ°λ³μμ μν΄μλ§ κ΅¬λ³λ μ μμΌλ―λ‘
λ°ν νμ
μ μ€λ²λ‘λ©μ ꡬννλλ° μλ¬΄λ° μν₯μ μ£Όμ§ μμ
1. λ©μλ μ΄λ¦μ΄ κ°μμΌ νλ€.
2. 맀κ°λ³μμ κ°μ λλ νμ
μ΄ λ¬λΌμΌ νλ€.
public class Overloadingtest {
// test() νΈμΆ
void test(){
System.out.println("맀κ°λ³μ μμ");
}
// testμ 맀κ°λ³μλ‘ intν 2κ° νΈμΆ
void test(int a, int b){
System.out.println("맀κ°λ³μ "+ a + "μ " + b);
}
// testμ 맀κ°λ³μ doubleν 1κ° νΈμΆ
void test(double d){
System.out.println("맀κ°λ³μ " + d);
}
}
public class test {
public static void main(String[] args) {
// Overloadingtest κ°μ²΄ μμ±
Overloadingtest ob = new Overloadingtest();
// test() νΈμΆ
ob.test();
// test(int a, int b) νΈμΆ
ob.test(10, 20);
// test(double d) νΈμΆ
ob.test(50);
// test(double d) νΈμΆ
ob.test(123.4);
}
}
λ©μλμ μ΄λ¦μ κ°μ§λ§ 맀κ°λ³μμ λ°λΌ κ°κΈ° λ€λ₯Έ κ²°κ³Όλ₯Ό μΆλ ₯νκ² λ©λλ€.
μ‘°μ ν΄λμ€λ‘λΆν° μμλ°μ λ©μλμ λ΄μ©μ λ³κ²½νλ κ²
μμλ°μ λ©μλλ₯Ό κ·Έλλ‘ μ¬μ©νκΈ°λ νμ§λ§ μμ ν΄λμ€ μμ μ λ§κ² λ³κ²½ν΄μΌνλ κ²½μ°μ μ€λ²λΌμ΄λ©νλ€.
μμ ν΄λμ€μμ μ€λ²λΌμ΄λ©νλ λ©μλλ μ‘°μ ν΄λμ€μ λ©μλμ
1. μ΄λ¦μ΄ κ°μμΌ νλ€.
2. 맀κ°λ³μκ° κ°μμΌ νλ€.
3. λ°ννμ
μ΄ κ°μμΌ νλ€.
λ¨, μ‘°μ ν΄λμ€μ λ©μλλ₯Ό μμ ν΄λμ€μμ μ€λ²λΌμ΄λ©ν λ
1. μ κ·Ό μ μ΄μλ μ‘°μ ν΄λμ€μ λ©μλλ³΄λ€ μ’μ λ²μλ‘ λ³κ²½ ν μ μλ€.
2. μ‘°μ ν΄λμ€μ λ©μλλ³΄λ€ λ§μ μμ μμΈλ₯Ό μ μΈν μ μλ€.
3. μΈμ€ν΄μ€ λ©μλλ₯Ό staticλ©μλλ‘ λλ κ·Έ λ°λλ‘ λ³κ²½ν μ μλ€.
class Point {
int x;
int y;
String getLocation() {
return "x : " + x + ", y : " + y;
}
}
class Point3D extends Point {
int z;
String getLocation() {
return "x : " + x + ", y : " + y + ", z : " + z;
}
}
μ€λ²λ‘λ©(overloading) : κΈ°μ‘΄μ μλ μλ‘μ΄ λ©μλλ₯Ό μ μνλ κ²(new)
μ€λ²λΌμ΄λ©(overriding) : μμλ°μ λ©μλμ λ΄μ©μ λ³κ²½νλ κ²(change, modify)