변수 및 상수란 무엇인가?
프로그래밍 언어에서의 변수란?
프로그래밍 언어에서의 변수(Variable)는 사전을 풀이하면
두번째 의미인 어떤 관계나 범위 안에서 여러 가지 값으로 변할 수 있는 수라고 할 수 있습니다.
뜻만 읽으면 정확히 무슨 의미인지 와닿지 않을겁니다.
예를 들어보죠.
프로그래밍 언어에서의 예제
예를들어 C언어라면 아래와 같은 선언문을 본 적이 있을겁니다.
int weight;
위 코드는 무엇을 의미할까요?
바로 변수 선언문입니다.
즉 변수를 선언하겠다는 겁니다. 예를 들어 weight는 우리나라 말로는 몸무게입니다.
즉 몸무게라는 변수를 선언하는거죠. 몸무게는 사람마다 다릅니다. 그래서 다양한 값들이 들어갈 수 있겠죠?
int weight=75;
위 코드의 의미는 weight라는 변수에 75라는 정수를 집어 넣는다는 의미입니다.
int weight=75;
weight=40;
그럼 위 코드는 무엇을 의미할까요?
처음에 weight라는 변수를 선언과 동시에 75라는 값으로 초기화 했습니다.
그 다음줄에서 weight 값을 40으로 바꾸죠.
값이 바뀔 수 있으니까 변수라는 이름이 붙은겁니다.
파이썬의 경우에는 아래와 같은 코드가 되겠죠?
weight=75
weight=40
이 역시 위 C언어 코드와 똑같은 의미를 가집니다.
그럼 C언어에서 앞에 저 붙어 있는 int라는 건 무엇일까요? 바로 데이터형을 의미하는건데요. 데이터형에 대해서는 따로 게시글을 올리도록 하겠습니다.
이번 게시글에서는 일단 변수와 상수가 무엇인지에 대해서 확실히 알아보는게 중요합니다. 나중에는 헷갈릴수도 있거든요.
상수란?
상수는 사전에서도 의미를 아실 수 있듯이, 값이 딱 정해져있습니다. 변수와는 전혀 다른 의미인거죠.
그럼 프로그래밍 언어에서는 상수를 어떻게 표현할까요?
C언어는 주로 두가지 방법을 이용하여 표현합니다.
#define WEIGHT 75
int WEIGHT=75;
첫번째 줄은 주석처럼보이지만, #define을 이용하여 WEIGHT라는 상수를 선언한 겁니다. 저렇게 선언하게 되면 이제
WEIGHT=80
위와 같은 코드를 넣은상태에서 컴파일을 하면 에러가 납니다. 왜냐면 WEIGHT는 상수인데, 이를 변수처럼 써먹으려고 한거거든요!
그래서 상수는 절대로 바꿀 수 없다는 점을 알아주시고,
저 두번째 줄의 int WEIGHT=75;는 그냥 프로그래머들만의 약속이라고 생각하시면 됩니다.
하지만, 이는 define문을 이용하지 않았기 때문에 변수처럼 바꿀 수 있습니다.
그래서 웬만하면 상수라면 #define을 이용하여 상수화 하는게 정말 중요합니다.
상수의 장점은?
상수의 장점이 있다면, 나중에 혹시라도 상수 값을 변경하게 된다면 #define 줄에 있는 값만 바꾸면 나중에는 해당 상수가 사용되는 코드는 모두 바뀌거든요 예를 들면 아래와 같은 상황인거죠.
#define WEIGHT 75
int height=170;
# Height * weight #
int result= height * WEIGHT;
printf("result: %d\n",result);
여기에서 만약 result 변수는 height와 WEIGHT의 곱으로 이루어져있죠. 만약에 이 WEIGHT를 바꾸고 싶다면,
#define WEIGHT 80
int height=170;
# Height * weight #
int result= height * WEIGHT;
printf("result: %d\n",result);
위에 있는 define 부분만 바꾸면 되기 때문에 간편하죠!
그래서 프로그래밍을 하실때는 상수와 변수를 잘 활용하시면 훨씬 깔끔하고 예쁜 코드가 만들어집니다!
'개발자 > 컴퓨터공학' 카테고리의 다른 글
서버(Server) 와 클라이언트(Client)에 대해서 완벽히 이해하자. (0) | 2022.09.09 |
---|---|
리눅스 넌 무엇이냐 (0) | 2022.09.09 |
운영체제란 무엇인가? (1) | 2022.09.07 |
VMware를 통한 우분투 설치 (1) | 2022.09.06 |
VMware 설치방법 (0) | 2022.09.06 |
댓글