728x90
반응형
SMALL
'상수(constant)'는 변수와 마찬가지로 '값을 저장할 수 있는 공간'이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다. 상수를 선언하는 방법은 변수와 동일하며, 단지 변수의 타입 앞에 키워드 'final'을 붙여주기만 하면 된다.
그리고 상수는 반드시 선언과 동시에 초기화해야 하며, 그 후 부터는 상수의 값을 변경하는 것이 허용되지 않는다.
final int MAX_SPEED; // 에러. 상수는 선언과 동시에 초기화해야함
final int MAX_VALUE = 100; // OK. 선언과 동시에 초기화했음
MAX_VALUE = 200; // 에러. 상수의 값은 변경할 수 없음
변수(variable) - 하나의 값을 저장하기 위한 공간
상수(constant) - 값을 한번만 저장할 수 있는 공간
리터럴(literal) - 그 자체로 값을 의미하는 것
상수가 필요한 이유
그냥 리터럴을 직접 쓰면 될 텐데, 굳이 상수가 따로 필요한가?라는 의문이 들 것도 같다.
int triangleArea = (20 * 10) / 2; // 삼각형의 면적을 구하는 공식
int rectangleArea = 20 * 10 ; // 사각형의 면적을 구하는 공식
----------------------------------
final int WIDTH = 20; // 폭
final int HEIGHT = 10; // 높이
int triangleArea = (WIDTH * HEIGHT) / 2; // 삼각형의 면적을 구하는 공식
int rectangleArea = WIDTH * HEIGHT ; // 사각형의 면적을 구하는 공식
상수를 이용해서 기존의 코드를 변경한 것인데, 이전 코드에 비해 면적을 구하는 공식의 의미가 명확해졌다.
그리고 다른 값으로 계산할 때도 여러 곳을 수정할 필요없이 상수의 초기화만 다른 값으로 해주면 된다.
728x90
반응형
LIST