프로그래밍의 값 복사는 '깊은 복사', '얕은 복사' 두 종류가 있는데, 적당히 설명하자면 주소값을 복사해가 두 변수가 한 인스턴스를 가리키게 되면 얕은 복사, 값 자체를 복사해 메모리에 주소 영역이 하나 더 생기면 깊은 복사라고 구분할 수 있다. 각각 다른 말로 '값 복사', '레퍼런스 복사' 라고 부르기도 한다. 아주 간단한 예시를 들자면 아래와 같다. int a = 1; int *b = &a; //얕은 복사 //--// int a = 1; int b = a; //깊은 복사 변수가 저장한 값이 리터럴일 경우 손쉽게 깊은 복사를 사용할 수 있지만, 배열 같은 자료 구조의 형태가 되는 순간 깊은 복사보다는 얕은 복사를 주로 사용하게 된다. 당장 배열 자료구조의 경우 두 변수를 '=' 기호로 잇는 것 처럼..