336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Agile Java Lesson 12에서는 동적 프록시에 대해서 아래와 같은 클래스 다이어그램으로 설명을 하고 있습니다.
상황 설정을 하자면 Client 클래스와 ServiceImplementation 클래스는 서로 다른 프로세스의 공간에 있는 다른 컴퓨터입니다.
Client가 ServiceImplementation과 통신을 하려면, 저수준의 통신이 일어나야 한다고 쓰여져 있는데 이것은 통신의 수준이 낮다는것의 의미가 많이 퇴색이 되었다는 생각이 듭니다. 저수준의 통신이라는 것은 원서에도 이렇게 나와있습니다. low-level communications 이라고 나와 있습니다. '품질이 낮은 통신' 이라고 오역할 수도 있기 때문에 다른 해석을 했으면 하는 바램입니다.
다시 말하면 저수준의 통신이라는것은 Client 입장에서는 자신이 사용하는 코드가 마치 같은 프로세스 안에서 실행이 되는것처럼 ServiceImplementation을 이용하는 것이 아니라, 실제로는 아래쪽에 존재하는 ClientSkeletonProxy와 ServerStub 간의 통신이 일어난다는 것을 의미합니다. 따라서 저수준이라는 이야기는 ServiceImplementation 클래스를 상속받는 ServerStub 클래스에서 통신이 발생한다는 이야기 입니다.
Client 클래스가 ServiceImplementation 클래스와 마찬가지로 Service 인터페이스를 구현하는 ClientSkeletonProxy 클래스를 사용하므로써 이때 발생하는 실행코드들을 ServerStub 클래스로 송신하면 ServerStub 클래스는 ServiceImplementation를 호출을 하게 되는 것이다.