๐ป
Java ํ๋ก๊ทธ๋๋ฐ - [๊ธฐ๋ณธ API ํด๋์ค] Class ํด๋์ค(getClass(), forName(), getDeclaredConstructors(), newInstance()) ๋ณธ๋ฌธ
KITRI/JAVA
Java ํ๋ก๊ทธ๋๋ฐ - [๊ธฐ๋ณธ API ํด๋์ค] Class ํด๋์ค(getClass(), forName(), getDeclaredConstructors(), newInstance())
๋ํจ๋ 2020. 5. 12. 14:40- Class ๊ฐ์ฒด ์ป๊ธฐ getClass(), forName() : ํ๋ก๊ทธ๋จ์ฅ์ Class๊ฐ์ฒด๋ฅผ ์ป๊ธฐ ์ํด์๋ Objectํด๋์ค๊ฐ ๊ฐ์ง๊ณ ์๋ getClass() ๋ฉ์๋๋ฅผ ์ด์ฉํ๋ฉด๋๋ค. Object๋ ๋ชจ๋ ํด๋์ค์ ์ต์์ ํด๋์ค์ด๋ฏ๋ก ๋ชจ๋ ํด๋์ค์์ getClass() ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์๋ค.
- ๋ฆฌํ๋ ์ getDeclaredConstructors(), getDeclaredFields(), getDeclaredMethods() : ํด๋์ค ์์ฑ์, ํ๋์ ๋ณด, ๋ฉ์๋ ์ ๋ณด๋ฅผ ์๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค. Constructor, Field, Method ํด๋์ค๋ ๋ชจ๋ java.lang.reflect ํจํค์ง์ ์์๋์ด ์๋ค.
- ๋์ ๊ฐ์ฒด ์์ฑ newInstance() : ๋์ ๊ฐ์ฒด ์์ฑ์ ์ฌ์ฉํ๋ค. ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ํธ์ถํด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ํด๋์ค์ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์กด์ฌํด์ผ ํ๋ค. ๋ง์ฝ ๋งค๊ฐ ๋ณ์๊ฐ ์๋ ์์ฑ์๋ฅผ ํธ์ถํ๊ณ ์ถ๋ค๋ฉด ๋ฆฌํ๋ ์ ์ผ๋ก Constructor ๊ฐ์ฒด๋ฅผ ์ป์ด newInstance() ๋ฉ์๋๋๋ฅผ ํธ์ถํ๋ฉด ๋๋ค.
[์ฐธ๊ณ ]
https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Class.html#newInstance()
์ฌ๊ธฐ์๋ ๋ฐฐ์ด๋ก ๋ฐ์์คฌ์ง๋ง ํ์ map์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ๊ฒ์ด๋ค.
๋ฐ์ํ
'KITRI > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments