자바에서 Object 클래스의 clone() 메서드는 해당 객체를 복제하는데 사용된다. 그러나, Object 클래스의 clone() 메서드는 복제될 객체가 Cloneable 인터페이스를 구현하고 있지 않으면 'CloneNotSupportedException'을 던진다. 즉, 해당 객체가 clone() 메서드를 구현하기 위해서는 Cloneable을 implements 해야한다. 그런데, Cloneable을 구현하는 것만으로는 외부 객체에서 clone 메서드를 호출할 수 없다. 왜냐하면, Cloneable은 인터페이스 자체가 메서드를 갖지 않는 마커 인터페이스이기 때문이다. 마커 인터페이스란? 메서드를 갖지 않는 인터페이스로, 해당 인터페이스를 구현한 클래스가 특정한 특성이나 동작을 갖고 있음을 나타낸다. ..