JAVA Object clone, 깊은복사(Deep Copy) , 자바객체복제
class CusClone implements Cloneable // 커스터마이된 clone() 정의
{
int i = 1;
int arr[] = {1, 2, 3};
{
int i = 1;
int arr[] = {1, 2, 3};
public Object clone() { // 필요하다면 public으로 선언한다.
try {
CusClone obj = (CusClone) super.clone();
obj.arr = (int[]) arr.clone();
return obj;
} catch( CloneNotSupportedException e) {
throw new InternalError( e.getMessage() );
}
}
try {
CusClone obj = (CusClone) super.clone();
obj.arr = (int[]) arr.clone();
return obj;
} catch( CloneNotSupportedException e) {
throw new InternalError( e.getMessage() );
}
}
public static void main( String[] args )
{
CusClone obj1 = new CusClone();
CusClone obj2 = (CusClone) 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] );
}
}
{
CusClone obj1 = new CusClone();
CusClone obj2 = (CusClone) 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] = 1
obj1.arr[0] = 2, obj2.arr[0] = 1
[오프라인 개강예정강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[12/09]iPhone 하이브리드 앱 개발 실무과정
[12/09][기업100%환급]Spring Framework,MyBatis,Hibernate실무프로젝트과 정
[12/16][기업100%환급]PL/SQL,ORACLE HINT,TUNING
[12/16]웹퍼블리싱 마스터
[12/16]안드로이드개발자과정
[12/23][기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
[01/06][기업100%환급]SQL기초에서 Schema Object까지
[평일야간]
[12/03]웹퍼블리싱 마스터
[12/05]자바초보에서안드로이드까지
[12/09]C#,ASP.NET마스터
[12/09]iPhone하이브리드앱개발실무과정
[12/09]JAVA&WEB프레임워크실무과정
[12/10]Spring3.X, MyBatis, Hibernate실무과정
[12/10]SQL초보에서실전전문가까지
[주말]
[12/14]Spring3.X,MyBatis,Hibernate실무과정
[12/14]SQL초보에서전문가까지
[12/14]웹퍼블리싱 마스터
[12/21]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
[12/21]자바초보에서안드로이드까지
[12/28]C#,ASP.NET마스터
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[12/09]iPhone 하이브리드 앱 개발 실무과정
[12/09][기업100%환급]Spring Framework,MyBatis,Hibernate실무프로젝트과 정
[12/16][기업100%환급]PL/SQL,ORACLE HINT,TUNING
[12/16]웹퍼블리싱 마스터
[12/16]안드로이드개발자과정
[12/23][기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
[01/06][기업100%환급]SQL기초에서 Schema Object까지
[평일야간]
[12/03]웹퍼블리싱 마스터
[12/05]자바초보에서안드로이드까지
[12/09]C#,ASP.NET마스터
[12/09]iPhone하이브리드앱개발실무과정
[12/09]JAVA&WEB프레임워크실무과정
[12/10]Spring3.X, MyBatis, Hibernate실무과정
[12/10]SQL초보에서실전전문가까지
[주말]
[12/14]Spring3.X,MyBatis,Hibernate실무과정
[12/14]SQL초보에서전문가까지
[12/14]웹퍼블리싱 마스터
[12/21]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
[12/21]자바초보에서안드로이드까지
[12/28]C#,ASP.NET마스터
댓글 없음:
댓글 쓰기