더북(TheBook)

변수와 객체가 연결(association)되어 있는 것을 참조(reference)라고 한다. 이 예제에서는 두 참조가 같은 객체를 가리킨다.

둘 이상의 참조가 가리키는 객체는 둘 이상의 이름을 갖게 되는데, 이를 객체가 별칭을 갖는다(aliased)고 얘기한다.

별칭된 객체가 변경되면 한쪽 별칭으로 변경한 내용이 다른 별칭에도 반영된다.

>>> b[0] = 42

>>> a

[42, 2, 3]

이런 동작이 유용할 때도 있지만, 오류를 내기가 쉽다. 일반적으로 변경 가능한 객체를 사용할 때는 별칭을 사용하지 않는 쪽이 더 안전하다.

문자열 같은 불변 객체에 대한 별칭은 문제가 될 가능성이 훨씬 작다.

a = 'banana'

b = 'banana'

이 예제에서 ab가 같은 문자열을 참조하든, 아니든 별다른 차이를 만들어내지 못한다.

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