코딩에 도움이 되는 요소/디자인 패턴
(디자인 패턴) 무한 복제!! 프로토 타입 패턴을 알아보자!!
너어디사니
2024. 5. 24. 19:48
- 실제로 복제되는 객체틀에 복제 프로세스를 위임하는 패턴
- 복제를 지원하는 모든 객체에 대한 공통 인터페이스를 선언한다
- 일반적으로 이런 인터페이스 에는 단일 clone 메서드만 포함이 된다
- 메인 프로토타입 클래스는 복제 메서드를 구현한다 메서드를 복제하는 것 이외에도 복제 프로세스와 관련된 일부 예외적인 경우들도 처리 될 수도 있다
프로토타입 패턴의 적용
- 복사해야 하는 객체 들의 구상 클래스들에 코드가 의존하면 안되는 경우 사용하면 좋다
- 각자의 객체를 초기화 하는 방식만 다른 자식 클래스들의 수를 줄이고 싶을때 사용한다
프로토타입 패턴 구현 방법
- Interface를 생성 후에 내부에 clone메서드를 필수로 선언한다
- 프로토타입 클래스는 이 클래스의 객체를 인수로 받아들이는 대체 생성자를 정의해야 한다
- 생성자는 해당 클래스에 정의된 모든 필드의 값들을 전달된 객체에서 새로 생성된 인스턴스로 복사해야 한다
프로토타입 패턴의 장단점
- 객체들을 그 구상 클래스들에 결합하지 않고 복제할 수 있다
- 반복되는 초기화 코드를 제거한 후에 그 대신 미리 만들어진 프로토타입 패턴을을 복제할 수 있다
- 복잡한 객체를 쉽게 생성 가능하다
- 순환참조가 있는 복잡한 객체들을 복제하는 것은 까다로울 수 있다
'코딩에 도움이 되는 요소/디자인 패턴' Related Articles