
257
6
장
객체 참조, 가변성, 재활용
“슬픔에 잠겨 있구나.” 기사는 걱정된다는 듯이 말했다. “너를 달래줄 노래를 하나 불러줄게.
[중략] 이 노래는 ‘대구의 눈
Haddocks
’
Eyes
’이라고 불린단다.” “아, 노래 제목이 그건가 봐요, 그렇
죠?” 관심을 기울이려 애쓰면서 앨리스가 말했다. “아니, 이해를 못 하는구나.” 다소 귀찮은
듯이 기사가 말했다. “사람들이 제목을 그렇게 부른다는 거야. 실제 제목은 ‘나이가 들고 든
사람’이야.”
― 루이스 캐럴
Lewis
Carroll
『거울 나라의 앨리스』
이번 장에서 설명할 내용은 앨리스와 기사 간의 대화 분위기와 비슷하다. 주제는 객체와 객체
명의 구분이다. 이름은 객체가 아니다. 이름은 별개의 것이다.
이번 장은 먼저 파이썬 변수를 은유적으로 표현하면서 시작한다. 변수는 상자에 붙인 레이블이
지, 상자 자체가 아니다. 여러분이 참조 변수를 이미 알더라도 다른 사람에게 별칭 문제를 설명
하려면 이 비유가 도움이 될 것이다.
그러고 나서 객체의 정체성
identity
, 값, 별칭의 개념을 이야기한다. 튜플의 놀라운 특성도 밝혀진
다. 튜플은 불변형이지만, 그 안에 들어 있는 값들은 바뀔 수 있다. 그러면서 얕은 복사와 깊은
복사를 설명한다. 그다음 주제는 참조 및 함수 매개변수이다. 가변 매개변수의 기본값 ...