원본 데이터의 보존이 중요 시 되는 경우, 사용하게 된다. 복제 기능에 대해서는 Cloneable 라는 Interface 를 구현 해야 한다.


public abstract interface Cloneable {
}


Object 클래스에 정의 되어 있다. 용도에 따라 얼마든지 Override 해서 사용 하면 된다.


protected native Object clone() throws CloneNotSupportedException;


접근 제한자가 protected 로 되어 있기 때문에, 외부에서는 접근이 불가능 하므로 아래와 같이 선언 해야 외부에서 사용이 가능 하다. Cloneable Interface 를 implements 하지 않았을 경우, java.lang.CloneNotSupportedException 이 발생 하니 주의 하자.


public class Model implements Cloneable {

    // Doing...

    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}


메소드 정의가 끝났다면, clone() 을 호출 하여 사용 하도록 하자.


+ Recent posts