프로토타입 패턴은 비슷한 객체를 여러개 만들 때 객체의 생성이 비용이 많이 들거나 복잡할 때, 또는 새로 생성하는 것보다 복사해서 값 한두개만 바꾸는 것이 더 빠른 경우 사용한다. 객체를 생성하는 방법은 2가지이다. new를 사용해 새 객체를 만들거나 기존의 객체를 복사해 사용하면 된다. 프로토타입 패턴은 복사를 사용해 객체를 생성하는 방법이다. 복사를 통해 생성하면 초기화를 하지 않아도 된다. 기존 값까지 복사된다. 따라서 초기화 과정이 줄어 들고, 복잡한 객체를 더 쉽게 생성할 수 있다는 장점이 있다. 구현 Class의 복사는 2가지 종류가 있다. 먼저 Soft Copy는 복사를 해도 실제로 변수를 복사하지 않는다. 복제된 변수를 수정하면 원본도 함께 복사된다. Deep Copy는 물리적으로 변수를 ..