어떠한 값이 복사되는데 크게 shallow copy(얕은 복사)와 deep copy(깊은 복사) 두 가지가 있습니다 간단히 말하자면 얕은복사는 한쪽에서 수정이 발생되면 다른쪽에도 영향을 끼쳐 같아지게 됩니다. 복사한 배열에서 어떠한 값을 수정하면 원래 배열에도 변경된 값이 들어가게 됩니다. 다음 예제를 봅시다 - 1차원 배열의 경우 int[] a = new int[1]; a[0] = 1; int[] b = a; // 값 변경 b[0] = 2; // 2,2 출력 System.out.println(a[0] + ", " + b[0]); 1차원 배열의 얕은 복사는 대입 연산을 이용하는 것입니다. 대입 연산을 이용해서 복사하게 되면 위의 경우 b배열의 값을 변경했을때 a 배열의 값도 변경됩니다. - 2차원 배열의..
자바(java) 배열의 깊은 복사(deep copy)와 얕은 복사 완벽정리(1차원 배열, 2차원 배열, 객체 배열 복사)
어떠한 값이 복사되는데 크게 shallow copy(얕은 복사)와 deep copy(깊은 복사) 두 가지가 있습니다 간단히 말하자면 얕은복사는 한쪽에서 수정이 발생되면 다른쪽에도 영향을 끼쳐 같아지게 됩니다. 복사한 배열에서 어떠한 값을 수정하면 원래 배열에도 변경된 값이 들어가게 됩니다. 다음 예제를 봅시다 - 1차원 배열의 경우 int[] a = new int[1]; a[0] = 1; int[] b = a; // 값 변경 b[0] = 2; // 2,2 출력 System.out.println(a[0] + ", " + b[0]); 1차원 배열의 얕은 복사는 대입 연산을 이용하는 것입니다. 대입 연산을 이용해서 복사하게 되면 위의 경우 b배열의 값을 변경했을때 a 배열의 값도 변경됩니다. - 2차원 배열의..
2020.02.11