변수에 새로운 값을 할당하는 것은 현재 값을 지우고 새로운 값을 대신 써넣는 것이다. 변수의 타입이 참조 타입인 종이에는 절대 객체를 써넣을 수 없으며, 객체 참조만을 써넣을 수 있다. 객체 참조는 주소를 이용해서 건물을 찾아가는 것과 마찬가지로 객체를 찾아가는 방법일 뿐이다. 두 장의 종이에 동일한 주소가 써 있으면 같은 건물을 가리키듯이, 두 개의 변수가 동일한 참조 값을 가지면 동일한 객체를 가리킨다.
TIP ≡
ref 키워드와 객체 참조는 다른 개념이다. 일부 유사한 부분도 있지만 이 둘은 반드시 구분해야 한다. 예를 들어 값으로 객체 참조를 전달하는 것과 참조로 변수를 전달하는 것은 다르다. 이번 절에서는 이 점을 특히 강조하기 위해서 단순히 참조라고 하지 않고 객체 참조라는 말을 사용했다.
할당을 통해서 한 변수의 값을 다른 변수로 복사하면 변수의 값만 복사된다. 두 장의 종이는 독립적이므로 나중에 한 변수를 변경해도 다른 변수의 값이 변경되지 않는다. 그림 13-2에 이러한 개념을 그림으로 나타냈다.
▲ 그림 13-2 할당을 통해 한 변수의 값을 다른 변수에 복사