• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

리플렉션 질문 드립니다!

21.03.17 19:47 작성 조회수 228

0

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

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

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

답변 1

답변을 작성해보세요.

0

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