1 개요[ | ]
- delegation, delegation pattern
- 위임, 위임 패턴, 대리자, 대리자 패턴
- 어떤 객체의 조작 일부를 다른 객체에게 넘김
- 위탁자(delegator) → 수탁자(delegate)
- 어떤 일의 책임을 다른 클래스 또는 메소드에게 넘김
- 한 객체가 기능 일부를 다른 객체로 넘겨주어, 첫번째 객체 대신 수행하도록 하는 일
- 위임을 활용하면 한 객체의 변경이 다른 객체에 미치는 영향이 작아진다.
- 다른 클래스의 기능을 사용하되 그 기능을 변경하지 않으려면 상속 대신 위임[1]
2 예시[ | ]
Java
Copy
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 참고[ | ]
- http://en.wikipedia.org/wiki/Delegation_(programming)
- http://en.wikipedia.org/wiki/Delegation_pattern
- ↑ 상속은 확장(변경)할 때 사용
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.