λ€νμ± - Overload
1. λ©μλ μ€λ²λ‘λ(overload)
- μμΉμ μΌλ‘ νλμ ν΄λμ€ μμμλ λμΌν μ΄λ¦μ λ©μλκ° λ κ° μ΄μ μ‘΄μ¬ν μ μμ§λ§.
μ΄λ₯Ό κ°λ₯νκ² νλ μμΈμ μΈ μ²λ¦¬ κΈ°λ²
2. μ΄λ¦μ΄ λμΌν λ©μλλ₯Ό μ μνκΈ° μν 쑰건
- λ©μλκ°μ νλΌλ―Έν°κ° μλ‘ λ¬λΌμΌ νλ€.
- νλΌλ―Έν°μ λ°μ΄ν° νμ
μ΄ λ€λ₯΄λ€.
(λ°μ΄ν° νμ΄ λμΌνκ³ λ³μμ μ΄λ¦μ΄ λ€λ₯Έκ²½μ°λ λμΌν νλΌλ―Έν°λ‘ μΈμλλ€)
- νλΌλ―Έν°μ κ°μκ° λ€λ₯΄λ€
- μλ‘λ€λ₯Έ λ°μ΄ν°νμ κ°λ νλΌλ―Έν°λ€μ μ λ¬ μμκ° λ€λ₯΄λ€
- 리ν°νμ΄ λ€λ₯Έ κ²½μ°λ μ€λ²λ‘λμ μ±λ¦½μ μλ¬΄λ° μν₯μ μ£Όμ§ μλλ€.
3. μ€λ²λ‘λμ μμ
- νλΌλ―Έν°μ λ°μ΄ν° νμ΄ μλ‘ λ€λ₯΄κΈ° λλ¬Έμ μ€λ²λ‘λ μ±λ¦½
public void foo(int a){}
public void foo(ling a){}
- νλΌλ―Έν°μ κ°μκ° μλ‘ λ€λ₯΄κΈ° λλ¬Έμ μ€λ²λ‘λ μ±λ¦½
public void foo(int a){}
public void foo(int a, int b){}
- νλΌλ―Έν°μ λ°μ΄ν°ν μ λ¬ μμκ° μλ‘ λ€λ₯΄κΈ° λλ¬Έμ μ€λ²λ‘λ μ±λ¦½
public void foo(int a, String b){}
public void foo(String a, int b){}
public int foo(int a)
public String foo(int x)
4. μμ±μμ Overload
- μμ±μ μμ λ©μλμ ν μ’
λ₯μ΄λ―λ‘ Overloadκ° κ°λ₯νλ€.
- μμ±μλ₯Ό Overloadν κ²½μ°, ν΄λΉ ν΄λμ€μ λν΄
'κ°μ²΄λ₯Ό μμ±νλ λ°©λ²'μ λ€μνκ² μ€λΉν μ μκ² λλ€.
5. thisν€μλλ₯Ό μ¬μ©ν μμ±μ overload
- this ν€μλλ₯Ό λ©μλμ²λΌ μ¬μ©ν κ²½μ°, νμ¬ ν΄λμ€μ λ€λ₯Έ μμ±μλ₯Ό μλ―Ένλ€.
- thisν€μλλ₯Ό μ¬μ©νμ¬ μμ±μ overloadλ₯Ό κ°κ²°νκ²μ²λ¦¬
- νλΌλ―Έν°κ° μλ‘ λ€λ₯Έ μμ±μλ€μ΄ νλμ μμ ν μμ±μλ₯Ό νΈμΆνλλ‘ νμ¬ λ°μ΄ν°μ μ΄κΈ°νλ₯Ό νκ³³μμ μΌκ΄μ μΌλ‘ μ²λ¦¬νλλ‘ κ΅¬νν μ μλ€.
class Hello{
public Hello(String msg){
System.out.println(msg);
}
public Hello(){
this("Hello");
}
}