안전한 동적 호출

요청 시점 전에 method plan을 검증하고 대상 예외를 분리한다.

  1. 허용 이름 확인

    사용자 입력을 whitelist key로 제한한다.

  2. signature 탐색

    primitive와 wrapper까지 정확히 지정한다.

  3. Method 캐시

    startup 결과를 불변 Map으로 게시한다.

  4. invoke와 unwrap

    InvocationTargetException의 cause를 보존한다.

핵심: reflection 자체 오류와 호출된 업무 메서드 실패를 다른 결과로 만든다.