상수(Constant)
변수와 마찬가지로 값(Data)를 담을 수 있는 메모리 공간이지만 한번 저장한 데이터 값을 변경할수 없다.
즉, 수식에서 변하지 않는 값을 의미
변수는 프로그램이 동작하면서 수시로 값이 변할 수 있다. 하나의 변수에는 단 하나의 값을 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값이 사라진다. 하지만 프로그램이 동작하면서 값이 변해서는 안되는 것이 존재 할 수 있는데 그러한 곳에 상수를 사용한다.
예를 들자면 원의 넓이를 구하는 프로그램을 만든다고 가정해보자.
원의 넓이를 구하는 공식은 아래와 같다.
*반지름의 제곱 * 원주율(3.14159)
반지름의 길이는 원의 넓이를 구할 때마다 바뀔 수 있지만 원주율은 변해서는 안된다.
이러한 경우 원주율을 상수로 선언하고 사용하는 것이 좋다.
매번 넓이를 구할 때마다 매번 원주율을 새로 작성하고 쓴다면 오타로 인해 정확한 값이 아래와 같이 산출되지 못할 수 있기 때문이다. 또한 값만 봤을 때 무엇을 의미하는지 쉽게 파악하기 어렵거나 힘들 경우에도 값 자체를 사용하기보다는 상수를 사용한다.
현재 원의 넓이를 구하는 프로그램이라고 했기때문에 3.14159라는 숫자가 원주율이라는 것을 파악하기 쉽지만 그렇지 않은 경우 이 숫자가 의미하는 것이 무엇인지 파악하기가 어렵다.
그렇다면 상수는 어떻게 사용하지는 알아보자.
*상수의 선언
상수의 선언은 변수의 선언과 마찬가지로 상수의 타입과 상수명을 써주고 맨 앞에 final이란 키워드를 붙여주면된다.
*상수의 사용
앞서 말한 것처럼 상수는 값을 담을 수 있는 기회가 단 한번만 허락되기 때문에 계속 값을 변경할 수 없다.
*상수의 명명 규칙
변수와 마찬가지로 절대적인 규칙은 없지만 개발자들 사이에서 통용되는 관례을 따르는 것이 좋다.
1. 대문자로만 구성된 명사로 정한다.
2. 여러단어로 구성된 이름의 경우, 단어사이에 '_'을 써서 구분한다.
그렇다면 상수를 이용해 다시 원의 넓이를 구해보자.
상수를 사용하여 작성한 뒤에는 오타로 인해 원하는 값이 잘못 산출될 염려가 낮아졌을 뿐만 아니라 코드상에서 3.14159가 무엇을 의미하는지 알수 있게 되었다.
상수는 또한 앞으로 변할 수 있는 유동적인 값에 활용될 수 있는데 예를 들자면 기름가격을 산출하는 프로그램을 작성한다고 가정해보자. 기름의 가격은 월, 일, 시간 단위로 변하게 되는데 기름의 가격이 매번 변할 때마다 일일히 코드에 작성한 기름가격을 변경해준다면 정말 번거롭고 불편할 수 있다. 이 경우 기름가격을 상수로 선언하고 가격변동이 있을때 마다 선언한 기름가격만 변경해준다면 원하는 값을 산출해 낼 수 있다.
참고 : {*}helloworld 자바입문 상수