Etc
Design Pattern - Prototype
SuperDT
2024. 4. 28. 23:41
Prototype Pattern은
새로운 객체를 생성할 때
기존 객체를 복제하여 객체를 생성하는 방법입니다
객체의 생성이 복잡한 경우에
해당 패턴을 이용하여 객체 생성에 드는 비용이나 과정을 줄일 수 있습니다
해당 패턴을 사용하기 위해서는
먼저 아래와 같이 인터페이스를 생성합니다
public interface Prototype {
Prototype clone();
void setName(String name);
String getName();
}
그 다음에 인터페이스를 이용하여 클래스를 구현합니다
public class User implements Prototype {
private String name;
@Override
public Prototype clone() {
User clone = new User();
clone.setName(this.name);
return clone;
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public String getName() {
return name;
}
}
기존 유저의 정보를 유지한 상태로 복제하여
필요한 부분만 수정하여 새로운 객체를 생성할 수 있습니다
public class Client {
public static void main(String[] args) {
User user = new User();
user.setName("User1");
//기존 유저를 복제하여 새로운 객체 생성, 필요한 부분만 변경하여 사용
User clone = (User) user.clone();
clone.setName("User2");
System.out.println("Original object name: " + User.getName());
System.out.println("Cloned object name: " + clone.getName());
}
}