π νκ³
μμκ³Ό μΈν°νμ΄μ€κ° λ€νμ ννμ λΉμ·νκ² μ¬μ©ν μ μλ κ² κ°λ€. κ·Έλ°λ° μ΄λ€ μν©μμ μ΄λ€ κ±Έ μ¨μΌ λλμ§ μμ§ μλ²½νκ² μ΄ν΄νμ§ λͺ»νλ€. λ΄ μκ°μλ λ€μ€ μμμ΄ λΆκ°λ₯νλ° μ¬λ¬ ν΄λμ€λ₯Ό μμν΄μΌ ν λ μΈν°νμ΄μ€λ₯Ό μ¬μ©νλ κ² κ°λ€. μ’ λ μ°Ύμλ³΄κ³ κ³΅λΆν΄λ΄μΌκ² λ€.
π λ€νμ± (Polymorphism)
- ν νμ μ μ°Έμ‘°λ³μλ₯Ό ν΅ν΄ μ¬λ¬ νμ μ κ°μ²΄λ₯Ό μ°Έμ‘°ν μ μλλ‘ λ§λ κ²
- μ€λ²λ‘λ©, μ€λ²λΌμ΄λ©, μμμ΄λ ꡬνμ ν΅ν λ€νμ νν
π μΆμν (Abstraction)
κΈ°μ‘΄ ν΄λμ€λ€μ 곡ν΅μ μΈ μμλ€μ λ½μμ μμ ν΄λμ€λ₯Ό λ§λ€μ΄ λ΄λ κ²
π μΈν°νμ΄μ€
μΈν°νμ΄μ€λ μΆμ λ©μλμ μμλ§μ λ©€λ²λ‘ κ°μ§ μ μλ€.
public interface InterfaceEx {
public static final int rock = 1; // μΈν°νμ΄μ€ μΈμ€ν΄μ€ λ³μ μ μ
final int scissors = 2; // public static μλ΅
static int paper = 3; // public & final μλ΅
public abstract String getPlayingNum();
void call(); //public abstract μλ΅
}
- λ΄λΆμ λͺ¨λ νλκ° public static finalλ‘ μ μλμ΄μΌ νλ€.
- λͺ¨λ λ©μλκ° public abstractλ‘ μ μλμ΄μΌ νλ€.
- μ μ΄μ μΌλΆλΆ λλ μ λΆ μλ΅ κ°λ₯νλ€.
class ExampleClass implements ExampleInterface1, ExampleInterface2, ExampleInterface3 {
... μλ΅ ...
}
- μμκ³Ό λ¬λ¦¬ λ€μ€μ ꡬνμ΄ κ°λ₯νλ€.
π μ¬μ© μλ
ν¬ν¨ κ΄κ³
- ~μ΄λ€
μμ
- ~μ κ°μ§κ³ μλ€
- κ°μ μμ ν΄λμ€λ₯Ό μμνλλ° κ°μ κΈ°λ₯μ΄ νμν κ²½μ°
μΈν°νμ΄μ€
- ~μ ν μ μλ€
- λ€λ₯Έ μμ ν΄λμ€λ₯Ό μμνλλ° κ°μ κΈ°λ₯μ΄ νμν κ²½μ°