[디자인 패턴] 5. 프록시 패턴

lhs's avatar
Nov 13, 2024
[디자인 패턴] 5. 프록시 패턴
💡
프록시 패턴은 구체적인 객체에 접근하기 전 또는 후에 대리 객체를 통해 접근하도록 하는 기법이다.
 

1. 정의

프록시 패턴(Proxy Pattern)은 구조 패턴(Structural Pattern) 중 하나로, 실제 객체에 대한 접근을 제어하는 대리 객체(Proxy)를 제공하는 디자인 패턴이다. 프록시 객체는 실제 객체와 동일한 인터페이스를 구현하며, 실제 객체에 대한 접근을 대신 처리하거나, 접근을 제어하는 역할을 한다.

2. 예제 코드

public interface Todoable { void 쫓아내(Animal animal); }
Todoable.java
 
public class Doorman implements Todoable { @Override public void 쫓아내(Animal animal) { System.out.println(animal.getName() + "쫒아내"); } }
Doorman.java
 
public class DoormanProxy implements Todoable{ private Doorman doorman; public DoormanProxy(Doorman doorman) { this.doorman = doorman; } @Override public void 쫓아내(Animal animal) { hello(); doorman.쫓아내(animal); } private void hello(){ System.out.println("안녕"); } }
DoormanProxy.java

3. 정리

  • Todoable 인터페이스
    • 공통으로 사용할 쫓아내() 메서드를 정의했다.
  • Doorman 클래스
    • 쫓아내() 메서드를 구현해 실제 동작을 수행한다.
  • DoormanProxy 클래스
    • 프록시 객체로 Doorman을 내부에 가지고 있다.
    • 쫓아내() 메서드를 호출할 때 hello() 메서드를 호출하는 프록시 역할을 한다.
Share article

LHS's Study Space