의문점 공부하기/🧾공부하며

🧾 동적 프록시란 ???

아리빠 2023. 8. 1. 15:42

먼저 프록시란?

- 클라이언트와 서버 사이에서 중계 역할을 하는 컴퓨터나 응용 프로그램

- 프록시 서버는 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접근할 수 있도록 해주며, 이를 통해 데이터 전송 시간을 절약하고 네트워크 병목 현상을 방지하는 등의 이점을 제공

 

 

동적 프록시

- 프로그래밍에서 특정 클래스의 인터페이스를 구현하는 클래스를 런타임에 동적으로 생성하는 기술

- 프록시 패턴의 한 형태로, 대상 객체에 대한 액세스를 제어하거나 추가적인 행동을 추가하는 등의 목적으로 사용

- 동적 프록시를 사용하면 개발자는 매번 프록시 클래스를 직접 작성하지 않아도 된다

- 프록시 객체는 런타임에 동적으로 생성되며, 이렇게 생성된 프록시 객체는 원래 객체를 대신하여 원래 객체에 대한 연산을 수행할 수 있다

 

그렇다면 정적프록시도 존재하나 궁금해서 찾아봤는데 

존재한다..!

 

정적 프록시란?

- 프록시 클래스가 미리 정의되어 컴파일 타임에 이미 결정되는 프록시

- 프록시 객체가 실행 시간에 동적으로 생성되는 동적 프록시와 달리, 정적 프록시는 코드에 미리 정의된 프록시 클래스를 사용하여 프록시 객체를 생성

정적 프록시를 사용하면 프록시 클래스를 명시적으로 정의하고 관리해야 하므로, 프록시 클래스가 많아지면 관리 비용이 증가..!

정적 프록시는 프록시할 대상 클래스가 미리 알려져 있어야 하므로, 대상 클래스가 런타임에 동적으로 변경되는 경우에는 사용하기 어렵다