프로그래밍을 처음 배우면 가장 먼저 접하게 되는 것이 바로 **변수(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)을 가져와서 연산하는 것이다.
✅ 변수는 단지 이름표일 뿐이고,
실제 계산이나 로직은 가리키는 값을 기준으로 동작한다!
핵심 요약
왜 이걸 이해해야 할까?
이 개념은 단순한 숫자뿐만 아니라,
리스트, 딕셔너리, 객체 등 복잡한 자료형에서 중요한 차이를 만든다.
예를 들어 리스트는 얕은 복사/깊은 복사 문제에서 이 개념이 매우 중요하게 작용한다
'Data Structure' 카테고리의 다른 글
동적 배열에서 삭제 연산, 어떻게 동작할까? (0) | 2025.04.22 |
---|---|
파이썬 리스트는 왜 어떤 자료형이든 담을 수 있을까?배열이란? (1) | 2025.04.11 |
파이썬에서 변수는 "값"이 아니라 "위치"를 가리킨다? (0) | 2025.04.09 |
RAM은 왜 "임의 접근" 메모리일까? (0) | 2025.04.07 |
스토리지 vs 메모리(RAM) – 뭐가 다를까? (1) | 2025.04.05 |