위임 패턴

1 개요[ | ]

delegation, delegation pattern
위임, 위임 패턴, 대리자, 대리자 패턴
  • 어떤 객체의 조작 일부를 다른 객체에게 넘김
위탁자(delegator) → 수탁자(delegate)
  • 어떤 일의 책임을 다른 클래스 또는 메소드에게 넘김
  • 한 객체가 기능 일부를 다른 객체로 넘겨주어, 첫번째 객체 대신 수행하도록 하는 일
  • 위임을 활용하면 한 객체의 변경이 다른 객체에 미치는 영향이 작아진다.
  • 다른 클래스의 기능을 사용하되 그 기능을 변경하지 않으려면 상속 대신 위임[1]

2 예시[ | ]

public class Main {
    public static void main(String[] args) { 
        Printer printer = new Printer();
        printer.print(); // 프린터야, 프린트해줘.
    }
}

// "delegator" 위탁자 (떠넘기는 사람, 갑)
class Printer { 
    RealPrinter p = new RealPrinter(); // 대신해줄 객체 생성
    void print() { p.print(); } // 위임!
}

// "delegate" 수탁자 (위임 받은 사람, 실무수행자, 을)
class RealPrinter { 
    void print() { System.out.println("something"); }
}

3 같이 보기[ | ]

4 참고[ | ]

  1. 상속은 확장(변경)할 때 사용
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}