. Java의 정석
[Java] 상수(constant)의 정의, 상수 선언과 초기화
박인영
2021. 7. 1. 23:05
<상수의 정의>
앞서 하나의 변수는 단 하나의 값만 저장할 수 있지만
기존의 값을 버린 뒤 새로운 값을 저장할 수 있었다.
해당 변수에 처음 저장된 값을 바꾸지 않는 방법이 있다.
아래와 같이 변수의 타입 앞에
키워드(예약어) 'final'을 붙여 상수(常數)로 만들어 주면 된다.
int speed = 10; // int 타입의 변수 speed
final int SPEED = 20; // int 타입의 상수 SPEED
수학에서는 변하지 않고 항상 같은 값을 가지는 수를 말하지만
Java에서의 원주율 3.14159265....처럼 고정값을 갖고 있는 수와 함께
키워드(예약어) 'final'을 이용하여 만든
'값을 한 번 저장하면 변경할 수 없는 저장공간'을 상수(constant)라고 한다.
수학에서 상수라고 부르는 12, 123, 'A'와 같은 '값' 자체를
Java에서는 리터럴(literal)이라 한다. (뒤에서 자세히 다룬다.)
<상수의 선언과 초기화>
개발자가 변수를 상수로 선언할 때 주의해야 할 사항이 있다.

또한 앞서 배웠던 식별자 명명규칙에 따라
상수 이름을 전부 대문자로 해야 하며,
여러 단어로 이루어진 경우, 언더바(_)로 구분한다.
(ex. MAX_NUMBER)
상수는 반드시 선언과 동시에 초기화해야 하며,
그 후부터는 상수의 값을 변경하는 것이 허용되지 않는다.

상수로 선언된 변수는 처음 초기화되면서 저장된 값을 삭제하지 않으므로
다른 값을 재 초기화(할당)하려고 하면 컴파일 에러가 난다.