변수?
내가 기존에 알고있는 변수는, 변할 수 있는 수를 의미했다. 그런데 과연, 프로그래밍에서도 이 뜻은 동일할까?
변수!
많은 문서들은, 컴퓨터 프로그래밍에서의 변수를 다음과 같이 설명하고 있다.
변수란, 이름을 가지고 있는 메모리 공간이다.
우리는 변수의 이름을 통하여 해당 메모리 공간에 저장되어 있는 값에 접근할 수 있다. 다만, 값을 저장할 메모리 공간을 할당받기 위해서는 변수가 저장할 값의 크기를 알아야 할 것이다.
int age = 23;
따라서 변수의 선언과 할당은 위와 같은 방식으로 이루어진다. 4바이트의 메모리 공간에 23에 해당하는 이진수가 저장될 것이고, 해당 메모리 공간은 age라는 이름을 통해서 접근할 수 있게 될 것이다.
변수를 생성하는 것은 추상화의 한 사례이다. 23이라는 데이터에, '나이'라는 개념을 부여하여 추상화가 이루어진 것이다.
변할 수 있는 수.equals(변수) ?
수학에서의 변수는 x = 5 로 쓴다. 이를 컴퓨터 세계로 옮기면서, 값을 저장할 메모리 공간의 크기를 알아야 할 필요성이 생겼다. 이는 변수를 선언할 때 저장할 값의 타입을 함께 지정함으로써 해결되었다.
그러므로 나는 컴퓨터 세계에서의 변수도 "변할 수 있는 수"의 뜻을 가진다고 생각한다. "변할 수 있는 수" 라는 추상적인 개념을 컴퓨터 세계에서 구현한 것이 "이름을 가지는 메모리 공간"일 것이기 때문이다.
reference
https://www.lenovo.com/us/en/glossary/variable/?orgRef=https%253A%252F%252Fwww.google.com%252F
'JAVA' 카테고리의 다른 글
오버라이딩 (0) | 2024.07.03 |
---|---|
JVM (0) | 2024.01.02 |
Optional (0) | 2023.08.03 |
abstract class (0) | 2023.07.10 |