[JAVA] Class ν΄λμ€λ₯Ό μ΄μ©ν΄ λ©μλμ μμ±μ μ»κΈ°
JAVAμ Class ν΄λμ€
Objectμ getClass() λ©μλλ Class κ°μ²΄λ₯Ό λ°νν©λλ€. Class ν΄λμ€λ ν΄λΉ ν΄λμ€μ μ μΈλ λ©μλμ μμ±μλ€μ λ°ννλ λ©μλλ₯Ό μ 곡ν©λλ€. getDeclaredConstructors(), getMethods()κ° κ·Έλ¬ν λ©μλλ€μ λλ€.
Class#getName()
Object obj = new Object();
Class clazz = obj.getClass();
System.out.println(clazz.getName());
π₯ μ€νκ²°κ³Ό
java.lang.Object
getName()μ ν΄λμ€ μ΄λ¦μ 리ν΄ν©λλ€.
Class#getDeclaredConstructors()
...
Constructor[] constructors = clazz.getDeclaredConstructors();
for(Constructor constructor: constructors) {
System.out.println(constructor.getName());
}
π₯ μ€νκ²°κ³Ό
java.lang.Object
getDeclaredConstructors()λ ν΄λμ€μ λͺ¨λ μμ±μλ₯Ό arrayλ‘ λ¦¬ν΄ν©λλ€. μ΄λ κ² λ°νλ Constructor κ°μ²΄λ₯Ό μ΄μ©ν΄ μμ±μμ λν μ 보λ₯Ό μ»μ μ μμ΅λλ€. μ μ½λμμλ Constructorμ getName()μ μ΄μ©ν΄μ μμ±μμ μ΄λ¦λ§ μΆλ ₯ν©λλ€.
Class#getMethods()
Method[] methods = clazz.getMethods();
for(Method method: methods) {
System.out.println(method.getName());
}
π₯ μ€νκ²°κ³Ό
wait
wait
wait
equals
toString
hashCode
getClass
notify
notifyAll
getMethods()λ ν΄λμ€μ λͺ¨λ λ©μλλ₯Ό arrayλ‘ λ°νν©λλ€. μ΄λ κ² λ°νλ Method κ°μ²΄λ₯Ό μ΄μ©ν΄ λ©μλμ λν μ 보λ₯Ό μ»μ μ μμ΅λλ€. μ μ½λμμλ Methodμ getName()μ μ΄μ©ν΄μ λ©μλμ μ΄λ¦λ§ μΆλ ₯ν©λλ€.
μ΄λ κ² Class ν΄λμ€λ λͺ¨λ κ°μ²΄μ λν κ°μ²΄ μμ μ μ 보 λ±μ μ 곡νλ©°, μ΄λ₯Ό Reflectionμ΄λΌκ³ ν©λλ€.
References
μ΄λ³΄μλ₯Ό μν Java 200μ (2ν)