-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
리플렉션 질문 드립니다!
21.03.17 19:47 작성 조회수 228
0
리플렉션이 가능한 이유가 클래스를 로딩할때 Class 객체가 힙에 저장되기 때문이라고 알고있습니다.
(즉, 한번은 클래스 로딩이 되어야한다(?))
예를 들어 실행시 입력받은 클래스를 Class.forName(args[0])으로 런타임 동적로딩을 하려고 할 때
입력받은 클래스는 아직 로딩이 안된거 같은데..(한번도 로딩이 안되었다(?))
어떻게 가능한걸까요??
제가 잘못 이해하는 부분이 있을까요??
답변을 작성해보세요.
0
백기선
지식공유자2021.03.19
제가 질문을 잘 이해한건지 모르겠는데요. Class.forName으로 입력받은 클래스를 어떻게 로딩하냐고 물어보시는것인가요? forName에 전달한 문자열에 클래스를 클래스로더가 클래스패스에서 찾아서 로딩해 줍니다. 그렇게 로딩을 하는 과정에서 말씀하신대로 Class 타입의 객체가 힙에 저장이 될테구요.
답변 1