1. 얕은 복사? 깊은 복사? 얕은 복사 : 본래 배열의 주소값을 가져옴 깊은 복사 : 본래 배열의 값(value)를 그대로 가져옴! 때문에 얕은 복사를 하면 복사하고 난 배열에서 값을 수정하면 본래의 배열도 수정됩니다! 반대로 깊은 복사는 전혀 별개의 배열이 새로 생기는 것이기 때문에 아무리 수정해도 본래 배열에는 영향이 없습니다. 간단히 그림으로 표현하면 아래와 같습니다. 얕은 복사와 깊은 복사 방식은 1차원이냐, 2차원이냐에 따라 또 나뉩니다. 2. 1차원 배열의 복사 - 원래 배열의 주솟값을 가져옴 int[] A = {1,2,3,4,5}; int[] B = A; 1. 직접 배열을 만들어 값을 할당 2. clone() 1. 직접 배열을 만들어 값을 할당하는 방식 int[] A = {1,2,3,4,5..
[JAVA] 얕은 복사 vs 깊은 복사
1. 얕은 복사? 깊은 복사? 얕은 복사 : 본래 배열의 주소값을 가져옴 깊은 복사 : 본래 배열의 값(value)를 그대로 가져옴! 때문에 얕은 복사를 하면 복사하고 난 배열에서 값을 수정하면 본래의 배열도 수정됩니다! 반대로 깊은 복사는 전혀 별개의 배열이 새로 생기는 것이기 때문에 아무리 수정해도 본래 배열에는 영향이 없습니다. 간단히 그림으로 표현하면 아래와 같습니다. 얕은 복사와 깊은 복사 방식은 1차원이냐, 2차원이냐에 따라 또 나뉩니다. 2. 1차원 배열의 복사 - 원래 배열의 주솟값을 가져옴 int[] A = {1,2,3,4,5}; int[] B = A; 1. 직접 배열을 만들어 값을 할당 2. clone() 1. 직접 배열을 만들어 값을 할당하는 방식 int[] A = {1,2,3,4,5..
2022.10.05