(1) 상수
'상수(constant)'는 변수와 마찬가지로 '값을 저장할 수 있는 공간'이지만,
변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다.
상수를 선언하는 방법은 변수와 동일하며, 단지 변수의 타입 앞에 키워드 'final'을 붙여 주기만 하면 된다.
일단 상수의 값이 저장된 후에는 상수의 값을 변경하는 것이 허용되지 않는다.
(2) 리터럴(literal)
원래 12, 123, 3.14, 'A'와 같은 값들이 '상수'인데, 프로그래밍에서는 상수를 '값을 한 번 저장하면 변경할 수 없는 저장 공간'으로 정의하였기 때문에
이와 구분하기 위해 상수를 다른 이름으로 불러야만 했다.
그래서 상수 대신 리터럴이라는 용어를 사용한다.
리터럴은 우리가 기존에 알고있던 '상수'의 다른 이름일 뿐이다.
(3) 상수가 필요한 이유
그냥 리터럴을 직접 쓰면 될텐데, 굳이 상수가 따로 필요한 이유가 있는가?라는 의문이 들 것이다.
예를 들어 기본형 변수는 값을 저장할 수 있는 범위가 지정되어 있으며 이를 저장해야 한다.
위와 같이 integer의 최대값을 지정한다면 누구나 변경하여 사용할 수 있으므로 사용자 별로 다른 값을 가지게 된다.
하지만 상수를 표현한다면 모든 사용자가 정해진 범위 내에서 사용하게 된다.