[자바실무,오라클자바커뮤니티교육학원 JAVA교육]JAVA Object clone, 깊은복사(Deep Copy)
//clone 메소드를 재정의해서 배열의 값도 별도로 clone시켜 복사되도록 구현
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.oraclejavacommunity.com
평일주간(9:30~18:20) 개강
(5/19)C#4.0,ADO.NET,Network 프로그래밍
(5/19)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(5/21)[교육전취업확정]Spring,MyBatis,XPlatform실무프로젝트과정
(5/26)SQL초보에서실전전문가까지
(5/26)안드로이드개발자과정
(5/26)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(5/27)JAVA,ORACLE 실무개발자과정
(5/30)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
평일야간(19:00~21:50) 개강
(5/16)C#,ASP.NET마스터
(5/19)웹퍼블리싱 마스터
(5/21)Spring3.X, MyBatis, Hibernate실무과정
(5/21)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/22)안드로이드개발자과정
(5/23)SQL초보에서실전전문가까지
(5/29)JAVA&WEB프레임워크실무과정
주말(10:00~17:50) 개강
(5/17)Spring3.X, MyBatis, Hibernate실무과정
(5/17)C#,ASP.NET마스터
(5/24)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/24)안드로이드개발자과정
(5/24)SQL초보에서실전전문가까지
(5/24)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
주말저녁(18:30~22:20) 개강
(5/24)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
www.oraclejavacommunity.com
평일주간(9:30~18:20) 개강
(5/19)C#4.0,ADO.NET,Network 프로그래밍
(5/19)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(5/21)[교육전취업확정]Spring,MyBatis,XPlatform실무프로젝트과정
(5/26)SQL초보에서실전전문가까지
(5/26)안드로이드개발자과정
(5/26)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(5/27)JAVA,ORACLE 실무개발자과정
(5/30)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
평일야간(19:00~21:50) 개강
(5/16)C#,ASP.NET마스터
(5/19)웹퍼블리싱 마스터
(5/21)Spring3.X, MyBatis, Hibernate실무과정
(5/21)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/22)안드로이드개발자과정
(5/23)SQL초보에서실전전문가까지
(5/29)JAVA&WEB프레임워크실무과정
주말(10:00~17:50) 개강
(5/17)Spring3.X, MyBatis, Hibernate실무과정
(5/17)C#,ASP.NET마스터
(5/24)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/24)안드로이드개발자과정
(5/24)SQL초보에서실전전문가까지
(5/24)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
주말저녁(18:30~22:20) 개강
(5/24)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
댓글 없음:
댓글 쓰기