1. 프록시(Proxy) 패턴이란?
- 프록시란 컴퓨터 네트워크에서 다른 서버 상의 자원을 찾는 클라이언트로부터 요청을 받아 중계하는 서버를 말한다. 프록시 패턴에서 프록시는 이와 마찬가지로 다른 객체가 수행해야 할 일을 프록시에게 요청해 대신 수행해주는 인터페이스의 역할을 하는 클래스이다.
- 객체 A가 객체 B를 사용하고자 할 때, 객체를 직접 참조하는 것이 아닌 그 객체에 대응되는 프록시를 통해 접근하므로, 객체 B가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있으며, 객체 B의 생성을 원하는 시점까지 미룰 수 있다.
- 프록시 패턴은 초기화 지연, 접근 제어, 로깅, 캐싱 등에 다양하게 응용이 가능하다.

2. 프록시(Proxy)의 장단점
- 장점
- 메모리가 큰 객체가 로딩되기 전에 프록시를 통해 참조할 수 있다.
- 프록시를 통해 객체에 접근하기 때문에 객체에 대한 접근 제어를 더 엄격히 할 수 있어, 개방-폐쇄의 원칙을 지키기 쉽고, 객체 간 의존성 또한 낮아지기 때문에 단일 책임의 원칙을 지키기 쉽다.
- 단점
- 객체를 생성할 때, 프록시라는 한 단계를 더 거치게 되므로 객체 생성을 자주하게 될 경우, 성능이 저하될 수 있다.
- 코드가 길어지고 로직이 복잡해져 가독성이 떨어질 수 있다.
반응형
'JAVA > CONCEPT' 카테고리의 다른 글
| [JAVA] Layered Pattern (0) | 2023.02.20 |
|---|---|
| [JAVA] Singleton Pattern (0) | 2023.01.24 |
| [JAVA] MVC Pattern (0) | 2023.01.17 |
| [JAVA] 객체 지향 설계의 5가지 원칙 - SOLID 원칙 (0) | 2023.01.16 |
| [JAVA] 객체 지향 프로그래밍 (OOP) - 특징 (0) | 2023.01.15 |
댓글