본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

파이썬에서 이름은 객체를 참조한다

by easyfly 2025. 4. 16.
반응형

파이썬에서 이름은 객체를 참조한다


파이썬에서 '이름(name)은 객체(object)를 참조(reference)한다'는 말은, 변수 자체가 값을 저장하는 것이 아니라 어떤 값을 가진 객체를 가리키고 있다는 뜻입니다.


예시로 살펴보겠습니다.

a = [1, 2, 3]
b = a
  • a는 [1, 2, 3]이라는 리스트 객체를 참조합니다.
  • b = a라고 하면, 새로운 리스트를 만들지 않고, a가 참조하는 객체를 b도 같이 참조하게 됩니다.
b.append(4)
print(a)  # [1, 2, 3, 4]
  • b에서 리스트를 수정하면, a에서도 변경된 값이 보입니다.
  • 즉, a와 b는 같은 객체를 바라보고 있기 때문입니다.


이를 그림으로 표현하면 다음과 같습니다:

[1, 2, 3]  ← 객체 (리스트)
  ↑     ↑
 a       b   ← 이름 (참조)

중요한 개념 요약

개념 설명

이름(name) 객체를 가리키는 변수명
객체(object) 메모리에 존재하는 실제 데이터 (숫자, 리스트, 문자열 등)
참조(reference) 이름이 어떤 객체를 바라보는 것

주의할 점

a = [1, 2, 3]
b = a.copy()  # 또는 list(a)

b.append(4)
print(a)  # [1, 2, 3]
print(b)  # [1, 2, 3, 4]
  • .copy()를 사용하면 새로운 객체를 만들고, b는 그것을 참조합니다.
  • 이렇게 하면 a와 b는 다른 객체를 참조하게 되어 독립적으로 작동합니다.

결론

파이썬에서는 변수가 곧 이름이고, 값이 아니라 객체를 참조한다는 점이 핵심입니다.
이 덕분에 객체지향적 프로그래밍이 더 유연하게 작동하지만, 반대로 같은 객체를 의도치 않게 공유할 수도 있으므로 주의가 필요합니다.

반응형

댓글