더북(TheBook)

예제: 두 변수의 교환 이 개념을 한 번 더 확인하는 차원에서, 다음 코드가 ab를 맞바꾸는 과정을 알아보자(엄밀히 말하면 ab에 바인딩된 객체가 바뀌는 것이다).

t= a
a= b
b= t

먼저 ab가 서로 다른 값 123499을 가진 두 개의 객체에 각기 바인딩되어 있다고 가정하자. [그림 1.2.5]를 참조해 다음과 같이 단계별로 따라가면서 확인하라.

▲ 그림 1.2.5 두 변수의 값 교환하기

 

t = aat에 할당한다. 즉 a(가 참조하는 객체)를 t에 할당하므로, at는 모두 1234 값을 가진 int 객체에 바인딩된다.

a = bba에 할당한다. 즉 b(가 참조하는 객체)를 a에 할당하므로, ab는 모두 99 값을 가진 int 객체에 바인딩된다.

b = ttb에 할당한다. 즉 t(가 참조하는 객체)를 b에 할당하므로, tb는 모두 1234 값을 가진 int 객체에 바인딩된다.

 

결국 두 변수가 참조하는 객체가 맞바뀐다. 이제 변수 a99 값을 가진 객체에 바인딩되며, 변수 b1234 값을 가진 객체에 바인딩된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.