CH9-7 · FLOW

리플렉션으로 타입 조사하기 예제가 실행되는 순서

Class 메타데이터 획득에서 시작해 invoke 결과와 반사 예외를 명시적으로 처리까지 값과 책임이 이동한다.

  1. 1
    Class 메타데이터 획득

    Type.class, object.getClass, Class.forName으로 얻는 경로가 각각 다릅니다.

  2. 2
    이름·매개변수로 공개 메서드 선택

    getMethods는 상속된 public 메서드를 포함하고 getDeclaredMethods는 현재 클래스에 선언된 접근 수준 전체를 봅니다.

  3. 3
    invoke 결과와 반사 예외를 명시적으로 처리

    이름만으로 메서드를 고르면 오버로드를 구분하지 못합니다.

실행 순서 getDeclaredMethods는 private secret까지 찾지만 getMethod는 공개 greet만 이름과 매개변수 타입으로 조회합니다.