2013년 12월 1일 일요일

JAVA Object clone, 얕은복사(Shallow Copy) , 자바객체복사, Array COPY, 배열복제


JAVA Object clone, 얕은복사(Shallow Copy) , 자바객체복사, Array COPY, 배열복제



class DefClone implements Cloneable // clone() 허용
{
    int i = 1;
  int arr[] = {1, 2, 3};   // 배열 참조값만 복사됨
    public static void main( String[] args )
        throws CloneNotSupportedException
    {
        DefClone obj1 = new DefClone();
        DefClone obj2 = (DefClone) obj1.clone();
        obj1.i = obj1.arr[0] = 2;
        System.out.println( "obj1.i = " + obj1.i
                            + ", obj2.i = " + obj2.i );
        System.out.println( "obj1.arr[0] = " + obj1.arr[0]
                            + ", obj2.arr[0] = " + obj2.arr[0] );
    }
}
실행 결과
obj1.i = 2, obj2.i = 1
obj1.arr[0] = 2, obj2.arr[0] = 2

댓글 없음:

댓글 쓰기