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ํ)
'Javaยท๏ปฟServletยท๏ปฟJSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JAVA ๊ฐ๋ฐ์๊ฐ ์์์ผํ String ํด๋์ค - 2ํธ (0) | 2023.02.18 |
---|---|
JAVA ๊ฐ๋ฐ์๊ฐ ์์์ผํ String ํด๋์ค - 1ํธ (0) | 2023.02.17 |
[JAVA] Arrays.asList()์ List.of()์ ์ฐจ์ด (0) | 2023.02.10 |
JAVA์์ String์ Null Safeํ๊ฒ ๋น๊ตํ๊ธฐ (0) | 2021.08.14 |
JAVA ์ ๋ค๋ฆญ(Generics) ํด๋์ค์ ๋ฉ์๋ (1) | 2020.07.11 |
๋๊ธ