Prototype 패턴

방세현·2023년 4월 22일
0

디자인패턴

목록 보기
6/9

Prototype 패턴

prototype 패턴은 인스턴스를 new를 사용하지 않고 복사해서(생성해) 사용할 때 쓰는 패턴입니다.

복사 생성자를 이용해 인스턴스 복사

public class MessageBox implements Product1 {	//MessageBox = ConcretePrototype, Product1 = Prototype
    private char decochar;

    public MessageBox(char decochar) {
        this.decochar = decochar;
    }
    public MessageBox(MessageBox prototype){
        this.decochar = prototype.decochar;
    }

    @Override
    public void use(String s) {
        int decolen = 1 + s.length() + 1;
        for (int i = 0; i < decolen; i++) {
            System.out.println(decochar);
        }
        System.out.println();
    }

    @Override
    public Product1 createCopy() {
        return new MessageBox(this);
    }
}

MessageBox m1 = new MessageBox('*');
m1.createCopy();

0개의 댓글