기존의 객체를 응용하여 새로운 인스턴스를 만들때 사용한다.
자바 오브젝트 메소드
얕은 복사
깊은 복사
객체를 만드는 과정을 숨길 수 있다.
기존 객체를 복제하는 과정이 새 인스턴스를 만드는 것보다 효율적이다.
추상적인 타입을 리턴할 수 있다.