강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

mingi.kang님의 프로필 이미지
mingi.kang

작성한 질문수

더 자바, 코드를 조작하는 다양한 방법

리플렉션 질문 드립니다!

작성

·

371

0

리플렉션이 가능한 이유가 클래스를 로딩할때 Class 객체가 힙에 저장되기 때문이라고 알고있습니다.
(즉, 한번은 클래스 로딩이 되어야한다(?))

예를 들어 실행시 입력받은 클래스를 Class.forName(args[0])으로 런타임 동적로딩을 하려고 할 때
입력받은 클래스는 아직 로딩이 안된거 같은데..(한번도 로딩이 안되었다(?))
어떻게 가능한걸까요??

제가 잘못 이해하는 부분이 있을까요??

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

제가 질문을 잘 이해한건지 모르겠는데요. Class.forName으로 입력받은 클래스를 어떻게 로딩하냐고 물어보시는것인가요? forName에 전달한 문자열에 클래스를 클래스로더가 클래스패스에서 찾아서 로딩해 줍니다. 그렇게 로딩을 하는 과정에서 말씀하신대로 Class 타입의 객체가 힙에 저장이 될테구요.

mingi.kang님의 프로필 이미지
mingi.kang

작성한 질문수

질문하기