왜냐? 객체는 원시값과 달리 가변적이기 때문이다. 객체의 데이터는 힙에 저장되고, 스택에는 힙의 주소값만 참조된다.
그래서 객체를 복사한다고 해도, 값 자체를 공유하는게 아니라 주소만 공유하게 되는 것이다.
==> 따라서 객체 데이터를 조작한다면, 원본 객체 자체에 변형이 일어난다. 이것이 얕은 복사다.
원시값은 크기를 알 수 있다. 예를 들어 숫자 타입은 8바이트이다. 가변적이지 않기 때문에 콜스택에 저장될 수 있다.
값을 복사하면 콜스택에 따로 저장된다. 복사된 값과 원본 값은 다르다. 이는 깊은 복사라고 한다.