Cloneable 인터페이스의 역할

class MyCloneableClass implements Cloneable {
    // 클래스의 내용

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

public class Main {
    public static void main(String[] args) {
        MyCloneableClass original = new MyCloneableClass();

        try {
            // 외부에서 clone() 메서드 호출 가능
            MyCloneableClass copy = (MyCloneableClass) original.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
}

주의사항

clone()이 꼭 필요한가?