• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

Object 클래스의 clone() 메서드 질문

23.07.24 15:19 작성 조회수 167

0

Object 클래스의 clone() 메서드는 깊은 복사가 아니라 얕은 복사로 알고 있습니다.

강의에서의 선생님의 말씀대로 clone() 메서드는 깊은 복사가 맞나요?

답변 1

답변을 작성해보세요.

0

안녕하세요^^

저는 clone() 메서드가 깊은복사의 대표메서드로 알고있습니다. 실제 아래코드를 실행하면 arr 배열은 원본 그대로 있고 tmp만 정렬되는 것을 볼 수 있습니다.

int[] tmp=arr.clone();
Arrays.sort(tmp);
for(int i=0; i<n; i++){
	System.out.print(arr[i] + " ");
}

 

아래 블로그에도 clone()은 깊은 복사로 정리되어 있네요.

https://velog.io/@bokiri409/%EB%AC%B8%EB%B2%95%EC%9E%90%EB%B0%94JAVA-%EB%B0%B0%EC%97%B4%EC%9D%98-%EA%B9%8A%EC%9D%80-%EB%B3%B5%EC%82%ACDeep-Copy-%EC%96%95%EC%9D%80-%EB%B3%B5%EC%82%ACShallow-Copy

재영님의 프로필

재영

질문자

2023.07.26

친절한 답변 감사합니다!