인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

이무님의 프로필 이미지
이무

작성한 질문수

스프링 핵심 원리 - 고급편

JDK 동적 프록시 - 예제 코드

동적프록시 인터페이스 함수 여러개

해결된 질문

작성

·

354

0

동적프로스 생성 시 지정하는 핸들러의 Invoke 메소드는 하나인데요,

만약 대상 인터페이스가 가진 메소드가 call() 하나가 아니라 두개 이상이라면 어떻게 되는건가요?

A.call()을 하든 A.call2()를 하든 결국 Invoke안에서 method 호출만 메소드에 따라 달리하는 것이고 Invoke에서 지정한 공통 로직은 메소드에 따라 구분할 순 없는것인가요?

답변 1

1

안녕하세요. 이무쿤님, 공식 서포터즈 y2gcoder입니다.

해당 jdk 동적 프록시 기술에서는 결국 InvocationHandler 구현체 내부의 invoke 오버라이딩 구현부에서 미리 분기에 따른 처리를 위해 결국 메서드 정보를 알아야 할 것 같습니다.

이런 불편한 부분을 혼자 발견하신 것이 대단하다고 생각합니다. 다만 조금만 기다려주시면 다른 동적 프록시 기술과 AOP가 나오게 됩니다. 해당 내용들을 학습하신 이후, 이무쿤님께서 생각하신 문제를 해결할 수 있는지를 보시는 것도 학습에 좋은 동기부여가 될 것이라 생각합니다 :)

감사합니다.

이무님의 프로필 이미지
이무

작성한 질문수

질문하기