작성한 질문수
스프링 핵심 원리 - 고급편
JDK 동적 프록시 - 적용1
작성
·
468
0
예를들어
interface TestInterfaceA {
void testA();
}
interface TestInterfaceB {
void testB();
두개가 있다고 가정했을때
publiic TestImpl implements TestInterfaceA, TestInterfaceB {
void testA(){
void testB(){
이렇게 인터페이스를 한개이상 구현할수 있어서
배열로 들어가야 되는건가요??
답변 1
2
안녕하세요. 진우님, 공식 서포터즈 OMG입니다.
코드 레벨에서 보니 왜 배열처리인지 확인할 수 있었습니다.
Proxy클래스에서 newProxyInstance 구현 내용을 보니 getProxyConstructor에 인자로 배열을 넘기더라구요,
getProxyConstructor()에서는 배열의 길이가 1인지 아닌지에 따라 1인경우는 배열의 0번째 인자를 가지고 로직이 흘러가더라구요.
주석 내용을 보니 인터페이스가 하나 일 경우 최적화 로직을 돌리네요 .
감사합니다.