먼저 프록시란?
- 클라이언트와 서버 사이에서 중계 역할을 하는 컴퓨터나 응용 프로그램
- 프록시 서버는 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접근할 수 있도록 해주며, 이를 통해 데이터 전송 시간을 절약하고 네트워크 병목 현상을 방지하는 등의 이점을 제공
동적 프록시
- 프로그래밍에서 특정 클래스의 인터페이스를 구현하는 클래스를 런타임에 동적으로 생성하는 기술
- 프록시 패턴의 한 형태로, 대상 객체에 대한 액세스를 제어하거나 추가적인 행동을 추가하는 등의 목적으로 사용
- 동적 프록시를 사용하면 개발자는 매번 프록시 클래스를 직접 작성하지 않아도 된다
- 프록시 객체는 런타임에 동적으로 생성되며, 이렇게 생성된 프록시 객체는 원래 객체를 대신하여 원래 객체에 대한 연산을 수행할 수 있다
그렇다면 정적프록시도 존재하나 궁금해서 찾아봤는데
존재한다..!
정적 프록시란?
- 프록시 클래스가 미리 정의되어 컴파일 타임에 이미 결정되는 프록시
- 프록시 객체가 실행 시간에 동적으로 생성되는 동적 프록시와 달리, 정적 프록시는 코드에 미리 정의된 프록시 클래스를 사용하여 프록시 객체를 생성
정적 프록시를 사용하면 프록시 클래스를 명시적으로 정의하고 관리해야 하므로, 프록시 클래스가 많아지면 관리 비용이 증가..!
정적 프록시는 프록시할 대상 클래스가 미리 알려져 있어야 하므로, 대상 클래스가 런타임에 동적으로 변경되는 경우에는 사용하기 어렵다
'의문점 공부하기 > 🧾공부하며' 카테고리의 다른 글
🧾 HTTP에서의 Stateless로 만들어야하는 이유! + 세션은 보관소? + 쿠키란?? (0) | 2023.08.03 |
---|---|
🧾 자바 직렬화는 왜 쓸까 (2) | 2023.08.02 |
🧾 GOF의 proxy패턴 사용하는 이유가 뭘까? (0) | 2023.07.27 |
🧾 Auto commit을 false로 설정해야 하는 이유는???? (0) | 2023.07.26 |
🧾 스레드를 재사용해야 하는 이유 (0) | 2023.07.14 |