프록시 패턴은 대상 원본 객체를 대리하여 대신 처리하게 함으로써 로직의 흐름을 제어하는 행동 패턴이다. 프록시 패턴은 실제 객체에 대한 접근을 통제하기 위해 그 앞에 ‘대리자’를 두는 구조이다.
**프록시(Proxy)**는 대리인 이라는 뜻입니다. 프록시 패턴은 실제 객체에 대한 접근을 제어하기 위한 대리 객체(Proxy) 를 사용하는 디자인 패턴입니다.
프록시 패턴 적용 목적은 객체에 직접 접근하지 않고, 프록시를 통해 간접적으로 접근하여 사용되는 코드 패턴이라 보면 됩니다.

Subject (인터페이스)
실제 객체와 프록시 객체가 공통으로 구현하는 인터페이스
RealSubject
실제로 작업을 수행하는 객체
Proxy
RealSubject를 대신해서 요청을 처리하거나, 요청을 전달하는 객체
로딩 지연 방지
객체 생성 비용이 크고, 실제로 사용될 때만 생성하고 싶을 때
보안/접근 제어
사용자의 권한에 따라 객체에 접근 제한할 때
로깅/모니터링
객체 접근 시 기록을 남기거나 동작을 감시하고 싶을 때
원격 프록시
실제 객체가 다른 시스템(서버)에 있을 때