일단 변수 부터 살펴보자
변수(variable)는 "變(변할 변)" "數(셀 수)" 로 진짜 간단하게 말하면 변할 수 있는 값이다.
조금 전문적으로 설명하면 데이터가 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간이다.
변수마다 다른 종류의 값을 저장할 수 있기 때문에 변수는 자료형을 갖습니다.
자료형에 대한 설명
그리고 변수에는 특수한 변수들이 존재하는데 '배열', '포인터', '구조체/클래스' 등이 있습니다.
프로그래밍에서 변수를 선언하는 방법은 보통 다음과 같다.
// 데이터타입 변수이름; //
// ex) 정수형 데이터 타입의 num이라는 이름의 변수를 선언 //
int num;
사용하는 프로그래밍 언어마다 차이가 있지만 크게 달라지진 않는다.
상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미한다. 하지만 변수와 다른 점은 상수에 저장된 데이터는 프로그램이 실행되는 동안 변경하거나 수정할 수 없다.
상수는 크게 리터럴 상수(literal constant)와 심볼릭 상수(symbolic constant)로 나눌 수 있다.
리터럴 상수(literal constant)란 이름이 따로 정의되지 않은 상수를 말한다.
리터럴 상수는 변수와 달리 데이터가 저장된 메모리 공간을 가리키는 이름을 가지고 있지 않다.
리터럴 상수는 타입에 따라 정수형 리터럴 상수, 실수형 리터럴 상수 등이 있다.
대표적으로 간단한 예시를 들자면
const int symbol = 50; // 여기서 50이 리터럴 상수이다.
심볼릭 상수(symbolic constant)란 변수와 마찬가지로 이름을 가지고 있는 상수이다.
심볼릭 상수는 가급적 C++에서는 const를, 자바에서는 final 키워드를 사용하여 선언한다.
const int symbol = 50; // C++
final int symbol = 30; // java