[Effective Java] 11. clone 메소드는 신중하게 오버라이드 하자. Cloneable 인터페이스는 복제를 허용하는 객체라는 것을 알리는 목적으로 사용하는 믹스인 인터페이스(mixin interface) 아무런 method도 없는 Cloneable 인터페이스는 어디에 쓰이는 것일까? 이 인터페이스는 Object 클래스의 protected 메소드인 clone의 행동 방식을 규정한다. 만약, clone 메소드가 호출된 객체가 Cloneable 타입이라면, Object.clone 메소드는 이 객체의 모든 필드를 그대로 복사한 복제본을 리턴한다. 하지만 Cloneable 타입이 아니라면 CloneNotSupportedException을 던진다. java.lang.Object.clone의 명세(Sp..