π οΈBackend/βJava
[Java] μ΅λͺ ν΄λμ€(Anonymous Class)
junbin2
2025. 5. 22. 18:38
β 1. μ΅λͺ ν΄λμ€λ?
- "μ΅λͺ " + "ν΄λμ€" μ΄λ¦μ΄ μλ ν΄λμ€λ₯Ό μλ―Ένλ€.
- μΌνμ±μΌλ‘ 1κ°μ κ°μ²΄λ₯Ό μμ±νκΈ° μν ν΄λμ€μ΄λ©°, μ΅λͺ ν΄λμ€ μ μμ λμμ κ°μ²΄λ₯Ό μμ±ν μ μλ€.
β 1. μ΅λͺ ν΄λμ€ μ¬μ© λ°©λ²
// λΆλͺ¨ ν΄λμ€
class Animal {
public void sound() {
System.out.println("λλ¬Όμ리");
}
}
public class Main {
public static void main(String[] args) {
Animal dog = new Animal() {
@Override
public void sound() {
Systme.out.println("κ°μμ§ μ리");
}
};
dog.bark();
}
}
- μ΅λͺ ν΄λμ€λ‘ λ§λ€κ² λλ©΄, μ΅λͺ μ μμ ν΄λμ€κ° λ§λ€μ΄μ§κ² λλ€. μ¦, μ€λ²λΌμ΄λ©μ ν΅ν΄ μ¬μ μλ₯Ό νκΈ° μν΄ μ¬μ©μνλ€.
- λ§μ½ μ¬μ μλ₯Ό νμ§ μλ κ²½μ°μλ λ©μλ νΈμΆμ΄ κ°λ₯νλ©°, μ΄λ μμκ³Ό κ°μ κ°λ μ΄λ€.
- λ¨, μ΅λͺ ν΄λμ€μ μμν΄λμ€ μ¦, νμ¬ μμ±νλ ν΄λμ€μ μλ λ©μλλ νλλ₯Ό μλ‘ λ§λ€ κ²½μ°μλ μ¬μ©μ κ°λ₯νμ§λ§, μ΅λͺ ν΄λμ€ λ΄λΆμμλ§ μ¬μ©μ΄ κ°λ₯νλ©°, μΈλΆμμλ μ¬μ©μ΄ λΆκ°λ₯νλ€.
- μ¦, μΈλΆμμ μ¬μ©μ΄ κ°λ₯ν건 μλ ν΄λμ€μ μ μλ νλλ λ©μλμ΄λ€.
β 2. μ΅λͺ ν΄λμ€ μ¬μ© μ΄μ
- μμ λΏλ§ μλλΌ μΈν°νμ΄μ€, μΆμλ κ°λ₯ν΄μ ν΄λμ€ μ¬μ¬μ© μμ΄ λ± ν λ²λ§ ꡬνν΄μ μΈ κ±°λΌλ©΄, λ³λμ ν΄λμ€ μ μΌμ΄ λ§κ³ μ΅λͺ ν΄λμ€λ₯Ό μ¬μ©νλ κ²μ΄ λ μ’μ.
- μ§μ λ³μμ²λΌ μ΅λͺ ν΄λμ€λ‘ μ μνκ³ μ€νμ΄ λλλ©΄ μμ λλλ‘ ν μ μμ΄ λ©λͺ¨λ¦¬ μ μ½ μΈ‘λ©΄μμ μ΄μ μ΄ μμ.
- μμν ν΄λμ€μ μΌλΆ λ©μλλ§ κ°λ¨ν μ¬μ μνκ³ μΆμ κ²½μ°, κ΅³μ΄ μ ν΄λμ€λ₯Ό λ§λ€μ§ μκ³ κ·Έ μ리μμ μ¬μ μλ₯Όν¨.
- μΈν°νμ΄μ€ μ¦μ ꡬνμ΄ κ°λ₯ν΄μ μ€λ λ λ±μμ λ§μ΄ μ¬μ©μ΄ λ¨.