Data Structure

파이썬 변수는 "값"이 아니라 "값을 가리키는 것"이다!

Data Jun 2025. 4. 8. 20:07

프로그래밍을 처음 배우면 가장 먼저 접하게 되는 것이 바로 **변수(variable)**이다.
그런데 x = 95처럼 코드를 작성할 때, 많은 사람들이 흔히 이렇게 이해하곤 한다:

“x는 95다!” ❌

하지만 정확한 개념은 다르다.

“x는 95를 가리킨다!”

 

변수란?

x = 95

이 코드는 메모리에 95를 저장하고, 그 주소를 x라는 이름으로 **가리킨다(reference)**는 의미다.

즉, 변수 x는 95 그 자체가 아니라, 95가 저장된 메모리 위치(주소)를 가리키는 포인터 역할을 하는 셈이다.

 

레퍼런스(reference)란?

  • 데이터에 접근할 수 있게 해주는 값
  • 말 그대로 "참조" 또는 "주소"이지만, 단순한 숫자 주소보다는 더 추상적이고 포괄적인 개념
  •  
x = 95  # x는 95라는 값을 가리키는 reference

 

변수를 사용할 때 일어나는 일

x = 95
print(x + 5)

이 코드는 실행 시 다음과 같이 동작한다:

print(95 + 5)

즉, 파이썬은 x가 가리키는 값(95)을 가져와서 연산하는 것이다.

✅ 변수는 단지 이름표일 뿐이고,
실제 계산이나 로직은 가리키는 값을 기준으로 동작한다!

 

핵심 요약

 

왜 이걸 이해해야 할까?

이 개념은 단순한 숫자뿐만 아니라,
리스트, 딕셔너리, 객체 등 복잡한 자료형에서 중요한 차이를 만든다.

예를 들어 리스트는 얕은 복사/깊은 복사 문제에서 이 개념이 매우 중요하게 작용한다