더북(TheBook)

Class 객체를 얻고 나면 클래스 이름을 알아낼 수 있다.

System.out.println("This object is an instance of " + cl.getName());


정적 메서드 Class.forName으로 Class 객체를 얻는 방법도 있다.

String className = "java.util.Scanner";

Class<?> cl = Class.forName(className);

    // java.util.Scanner 클래스를 기술하는 객체다.


icon Caution

Class.forName 메서드는 리플렉션을 이용하는 다른 메서드와 마찬가지로 무언가 잘못되면 검사 예외를 던진다(예를 들어 이름에 해당하는 클래스가 없을 때). 일단은 호출하는 쪽 메서드에 throws ReflectiveOperationException을 붙여 두자. 이 예외를 처리하는 방법은 5장 예외, 단정, 로깅에서 다시 알아본다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.