오늘은 변수(Variable)과 변수의 타입 및 상수와 리터럴에 대해 알아보겠습니다.
1. 변수(Variable)
수학에서 변수를 '변하는 수'라고 정의하지만 프로그래밍 언어에서의 변수란, 값을 저장할 수 있는 메모리 공간'을 의미합니다. 이 공간에 저장된 값은 변경될 수 있기 때문에 '변수'라는 수학 용어의 정의와 의미가 맞아 이렇게 이름을 붙였습니다.
2. 변수의 선언과 초기화
2-1 변수의 선언
- 변수를 사용하려면 먼저 변수를 선언해야 하는데, 변수의 선언 방법은 다음과 같습니다.
int age; // age라는 이름의 변수를 선언
'변수 타입'은 변수에 저장될 값이 어떤 '타입'인지를 지정하는 것입니다. 저장하고자 하는 값의 종류에 맞게 변수의 타입을 선택해서 적어주면 됩니다.
'변수 이름'은 변수에 붙인 이름입니다. 변수는 '값을 저장할 수 있는 메모리 공간'이므로 변수의 이름은 메모리 공간에 이름을 붙여주는 것입니다. 그 이름을 이용해서 변수에 값을 저장하고, 저장된 값을 읽어오기도 할 수 있는 것입니다.
변수를 선언하면, 메모리의 빈 공간에 '변수 타입'에 알맞은 크기의 저장 공간이 확보되고, 앞으로 이 저장공간은 '변수 이름'을 통해 사용할 수 있게 됩니다.
2-2 변수의 초기화
- 변수를 선언한 이후부터는 변수를 사용할 수 있으나, 그전에 변수를 반드시 초기화해야 합니다.
int age = 25; // 변수 age를 선언하고 25로 초기화
변수의 종류에 따라 변수를 초기화를 생략할 수 있는 경우도 있지만, 변수는 사용되기 전에 적절한 값으로 초기화하는 것이 좋습니다.
3. 변수의 타입
- 우리가 주로 사용하는 값의 종류는 크게 '문자와 숫자'로 나눌 수 있으며, 숫자는 다시 '정수와 실수'로 나눌 수 있습니다.
값의 종류에 따라 값이 저장될 공간과 크기와 저장 형식을 정의한 것이 자료형(data type)입니다.
자료형에는 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) 등이 있으며, 변수를 선언할 때는 저장하려는 값의 특성을 고려하여 가장 알맞은 자료형을 변수의 타입으로 선택하면 됩니다.
4.상수와 리터럴
4-1 상수
- 상수는 변수와 마찬가지로 '값을 저장할 수 있는 공간'이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없습니다. 상수를 선언하는 방법은 변수와 동일하며, 단지 변수의 타입 앞에 키워드 'final'을 붙여주기만 하면 됩니다.
final int MAX_SPEED = 10; // 상수 MAX_SPEED를 선언과 동시에 초기화
상수는 반드시 선언과 동시에 초기화해야 하며, 그 후부터는 상수의 값을 변경하는 것이 허용되지 않습니다.
final int MAX_SPEED; // X. 상수 선언만 했기 때문에 에러
final int MAX_VALUE = 100; // O. 상수 선언과 동시에 초기화
4-2 리터럴
- 프로그래밍에서는 상수를 '값을 한 번 저장하면 변경할 수 없는 저장 공간'으로 정의하였기 때문에 이와 구분하기 위해 리터럴이라고 합니다.
리터럴은 단지 우리가 알고 있었던 상수의 다른 이름입니다.