변수

5단 분석법

순서
분석
단어
내용
1
일반 명사
변수
어떠한 상황의 가변적인 요인
2
고유 명사(정보통신)
변수
바뀔 수 있는 값이면서, 그 값을 저장할 수 있는 공간
고유 명사(수학)
변수
특정한 관계나 범위 안에서 다양한 값으로 변할 수 있는 수
3
사용 이유
변수
자료를 저장해 두고, 저장해 둔 자료를 언제든지 재사용 하기 위해서
4
사용 방법
변수
'(언어에따라 다름)데이터타입''변수이름' = "내용"
5
다른 기술과의 비교
변수
-

변수의 정의

일반 명사

변수
어떠한 상황의 가변적인 요인
변수의 일반 명사는 “어떠한 상황의 가변적인 요인” 입니다.
가변적 요인이라는 것은 언제든 바꿀 수 있거나 바뀔 수 있는 요인을 말 합니다.
우리가 일상 생활에서 볼 수 있는 날씨 또한 가변적인 요인의 예시로 볼 수 있습니다.
일상생활에서 ’날씨’ 를 변수의 예로 들 수 있습니다.
날씨는 언제든 변합니다. 해가 화창했다가 갑자기 비가 올 수도 있고, 비가 오다가 갑자기 눈이 올 수 있습니다.
그렇기 때문에, 언제든 변할 수 있는 날씨는 변수의 예로 들 수 있습니다.
변수의 고유 명사는 무엇일까요?

고유 명사

변수(수학)
특정한 관계나 범위 안에서 다양한 값으로 변할 수 있는 수
변수(정보통신)
바뀔 수 있는 값이면서, 그 값을 저장할 수 있는 공간
수학에서 변수는 “특정한 관계나 범위 안에서 다양한 값으로 변할 수 있는 수” 입니다.
변수는 주로 알파벳으로 표기되며, 수학적인 계산이나 해결과정에서 다양한 값을 대입하여 사용됩니다.
변수는 수학적인 식이나 문제를 표현하고 해결하는 데 있어서 중요한 역할을 합니다.
정보통신에서의 변수의 고유 명사는 “바뀔 수 있는 값이면서, 그 값을 저장할 수 있는 공간” 입니다.
변수는 프로그램에서 값을 임시로 저장하거나 다루는 데에 사용됩니다.
일반적인 변수를 설명할 때 예시로 들었던 날씨를 정보통신에서의 변수로 설명 해보겠습니다.
날씨는 맑음, 흐림, 비, 눈, 바람, 안개 등의 종류로 나뉘게 됩니다.
여기서 변수는 ‘날씨’이고 값으로는 ‘맑음’, ‘흐림’, ‘비’, ‘눈’, ‘바람’, ‘안개’ 로 생각할 수 있습니다.
변수의 저장공간을 참조하기 위해 사용되는 변수 이름을 식별자라고 합니다.
식별자란 어떤 대상을 유일하게 식별 및 구별할 수 있는 이름을 뜻합니다.
변수의 일반 명사 “어떠한 상황의 가변적인 요인”과 고유 명사 “지속해서 변하는 값이면서, 그 값을 저장할 수 있는 공간”의 의미가 대동소이한 것을 알 수 있습니다.

사용 이유

변수
자료를 저장해 두고, 저장해 둔 자료를 언제든지 재사용 하기 위해서
변수를 사용하는 이유는 “자료를 저장해 두고, 저장해 둔 자료를 언제든지 재사용 하기 위해서” 입니다.
변수를 사용하면 값을 임시로 저장하고, 프로그램에서 다양한 종류의 값을 조작하고 변경할 수 있고 값을 계속해서 활용할 수 있습니다.
한 가지 예시를 통해 설명하도록 하겠습니다.
물이 담아져 있는 그릇이 있습니다.
그릇이 변수가 될 것이고, 물이 값이 될 것입니다.
요리를 하면서 이 물을 계속 사용해야합니다.
그릇이 없었다면 어땠을까요?
요리를 하면서 물을 사용하기 어려웠을 것입니다.
자주 사용하기 위해선 특정 공간에 담아두어야 다시 사용할 때 편리하기 때문입니다.
그릇에 물을 담아두고, 내가 필요할 때 언제든 물을 꺼내 사용하는 예시를 본 것처럼, 변수는 자료를 저장해두고 저장해둔 자료를 언제든지 재사용하기 위해서 사용합니다.

사용 방법

변수
'(언어에따라 다름)데이터타입' '변수이름' = "내용"
변수를 사용하는 방법은 “'(언어에따라 다름)데이터타입’변수이름' = ‘내용’” 입니다.
아래에서 선언 방법과 값을 저장하고 참조하는 과정을 설명하도록 하겠습니다.
변수 사용 방법을 이해하기 위해 우선 선언과 할당에 대해 짚고 넘어가도록 하겠습니다.

선언과 할당

선언과 할당이라는 단어의 뜻을 알아보겠습니다.

선언

순서
분석
단어
내용
1
일반 명사
선언
널리 퍼지도록 말한 내용
2
고유 명사(정보통신)
선언
프로그램에서 사용하는 변수의 이름과 데이터타입을 정의하는 것
3
사용 이유
선언
값을 저장할 공간을 마련하고 다른 값과 구분하기 위해서
4
사용 방법
선언
데이터타입과 변수명을 적어서 선언함
5
다른 기술과의 비교
선언
-
선언의 고유 명사는 “프로그램에서 사용하는 변수의 이름과 데이터타입을 정의하는 것” 입니다.
선언은 “값을 저장할 공간을 마련하고 다른 값과 구분하기 위해서” 사용 됩니다.
그릇으로 예를 들어보겠습니다. 우리 앞에 밀폐용기를 마련합니다.
그리고 무엇을 넣어 둘 지 고민한 후 이름표를 붙입니다.
김치를 넣는다고 가정해보겠습니다. 밀폐용기에 ‘김치’라고 이름을 붙입니다.
이러한 행위를 선언이라고 할 수 있습니다.

할당

순서
분석
단어
내용
1
일반 명사
할당
몫을 나누거나 그 몫
2
고유 명사(정보통신)
할당
특정한 작업을 실행하기 위해 필요한 자원을 배치하는 것
3
사용 이유
할당
프로그램에서 선언한 변수에 값을 저장하기 위해서
4
사용 방법
할당
변수에 할당하고 싶은 값을 “=”를 사용해 할당함
5
다른 기술과의 비교
할당
-
할당의 고유 명사는 “특정한 작업을 실행하기 위해 필요한 자원을 배치하는 것” 입니다.
할당은 프로그램에서 선언한 변수에 값을 저장하기 위해 사용 합니다.
위의 예시에서 만든 ‘김치’라는 이름표를 붙인 밀폐용기에 김치를 넣는 행위를 할당이라고 할 수 있습니다.
즉, 컴퓨터언어에서 변수의 선언과 할당은 ‘식별자에 대해 데이터타입이나 범위 등을 미리 정의하고, 정의한 변수에 값을 지정하는 것’을 뜻합니다.

문법의 형식

Javascript
Python
Java
Dart
위는 변수의 기본 문법 형식입니다.
변수는 크게 3가지로 이루어집니다. 데이터타입과 변수명, 값으로 이루어져 있습니다.
이 형식을 이해하기 쉽도록 예시를 들어보겠습니다.
그림과 같이 여러 가지 종류의 밀폐용기가 있습니다.
데이터타입은 값의 종류를 의미하며, 변수명 앞에서 데이터타입을 작성할 땐 음식을 담기전에 그릇의 종류를 정하는 것과 유사합니다.
변수명은 선언하는 과정인데 그릇에 이름표를 붙이는 행위를 말하고, 할당은 그릇에 값을 넣는 행위를 말하는 것입니다. 변수의 특징으로는 ‘종류’, ‘용도’, ‘용량’이 있습니다. 1. 종류 그림과 같이 다양한 그릇(종류)가 있습니다. 컴퓨터 언어에서의 데이터타입엔 일반적으로 정수와 실수, 문자와 문자열 그리고 참, 거짓을 구분할 수 있는 boolean(bool) 등이 있습니다. 2. 용도 종류마다 용도가 있습니다. 그릇마다 담을 수 있는 음식의 종류가 다르듯 각 데이터 타입은 특정한 용도를 가집니다. 국그릇에는 신발을 담는다면 어떨까요? 간장종지에 기름을 담는다면 어떨까요? 국그릇에는 국을 담고, 간장종지엔 간장을 담는 것처럼 각 데이터 타입마다 용도가 있습니다. boolean(bool) 에는 참,거짓만을 담습니다. 그 이유는 데이터 타입이 없다면 컴퓨터는 저장된 데이터를 어떻게 해석해야 할지 알 수 없게 되며, 이로 인해 연산 오류나 예기치 않은 동작이 발생할 수 있습니다. 3. 용량 그릇에 너무 많은 음식을 담으면 넘칠 수 있듯, 변수에도 최대 저장 가능한 데이터의 크기(용량)가 있습니다.
국그릇에 표면이상으로 넘치게 국을 넣는다면? 간장종지가 넘도록 간장을 넣는다면 어떻게 될까요? 넘칠 것입니다.
그릇의 특징과 같이 변수에도 용량이 있습니다. 그 이유는 값의 크기이상으로 ‘메모리를 할당을 하지 않게 하기 위해서’입니다. 이러한 목적은 초기 컴퓨터 사양이 현대보다 현저히 낮았던 시절에 더욱 중요했습니다. 당시에는 메모리가 매우 한정되어있어, 메모리를 굉장히 아끼며 메모리 공간을 효율적으로 사용하는 것이 중요했습니다. 따라서 값에 적합한 데이터 타입을 지정함으로써 필요한 만큼의 메모리만 할당하여 사용했습니다.

사용 예시

Javascript
Python
Java
Dart

알아두면 좋은 정보

모든 언어에서 데이터타입을 명시해야하나요?
모든 언어가 그렇지는 않습니다. 파이썬 같은 경우에는 코드의 간결성과 가독성을 위해 데이터타입을 작성하지 않아도 되고 파이썬 언어가 대신 데이터타입을 판단하고 저장해줍니다.

변수명이 중복되는 경우 발생하는 문제

변수의 재선언과 재할당

전역 변수, 지역 변수

Javascript var, let, const

Javascript literal

알아두면 좋은 정보

Javascript literal (이전)