상세 컨텐츠

본문 제목

Prototype 패턴 배워보기

Java

by techbard 2014. 1. 21. 18:00

본문

반응형

new가 아닌 다른 방법으로 템플릿 객체를 복사해서 만들어 낼 때 사용한다.

 

1. 먼저 복사해주는 기능만(clone) 따로 떼어내어 구현한다.

 

 

Cloneable 인터페이스를 구현하면서 하위 클래스들을 다루기 위해서 추상 클래스로 작성한다. Object.clone() 메소드를 쓰기 위해 Cloneable 인터페이스를 구현하며 Prototype 타입으로 리턴하기 위해 (Prototype) 캐스팅을 한다. 이제부터는 .clone() 메소드를 통해 자기 자신 객체를 리턴한다.

 

2. 이 템플릿 클래스를 상속받아 구현하며 추상 메소드들을 구현한다.

 

 

3. 테스트 클래스로 확인해 보자.

 

 

 

결과:

Prototype's value: 10
tempProtoType's value: 10
tempProtoType's value: 20
Prototype's value: 10

 

4번 라인에서 최초 10을 인자로 넘긴 객체를 생성했다. 11번 라인에서 최초 템플릿 객체의 값을 확인할 수 있다.

 

11번 라인에서 tempPrototype 객체에서 값을 가져오며 출력해 보면 템플릿 객체와 동일한 값을 가지고 있음을 확인할 수 있다.

 

14번 라인에서 tempPrototype 객체의 값을 바꾸며 출력해 보면 템플릿 객체의 값이 바뀐 것을 알 수 있다.

 

다시 18-19번 라인을 통해 확인해 보면 템플릿 객체는 변동이 없음을 알 수 있다.

 

PrototypePattern.zip

 

반응형

관련글 더보기

댓글 영역