상수(constant)
•
값을 저장 가능한 공간이지만, 변수와 달리 한번 저장 후 다른 값으로 변경 불가능
•
상수 선언법 : final 상수타입 상수이름;
final int MAX_SPEED = 20; // 상수 MAX_SPEED 선언과 값을 20으로 초기화
final int MIN_SPEED; // 에러. 선언과 동시에 초기화 필요
final int MAX_VALUE = 1000;
MAX_VALUE = 2000; // 에러. 상수는 값 변경 불가
Java
•
상수 명명 규칙
1. 이름은 모두 대문자로
2. 여러 단어인 경우 _로 구분
리터럴(literal)
•
37, 222, 2.65 'B' 같이 프로그래밍에서 우리가 기존에 알고 있던 상수를 표현하기 위한 용어
// 변수: age / 상수: MAX_SPEED / 리터럴: 26, 200
int age = 26;
final int MAX_SPEED = 200;
Java
변수(variable) 하나의 값을 저장하기 위한 공간
상수(constant) 값을 한번만 저장할 수 있는 공간
리터럴(literal) 그 자체로 값을 의미하는 것
상수 개념이 등장한 이유?
•
기존의 리터럴 개념에서 추가적으로 상수가 등장한 이유가 뭘까?
// 리터럴을 직접 사용
int triangleArea = (30 * 20) / 2; // 삼각형 면적 구하기
int rectangleArea = 30 * 20; // 사각형 면적 구하기
// 상수 사용
final int WIDTH = 30; // 폭
final int HEIGHT = 20; // 높이
int triangleArea = (WIDTH * HEIGHT) / 2; // 삼각각형 면적을 구하는 공식
int rectangleArea = WIDTH * HEIGHT; // 사각형 면적을 구하는 공식
Java
→ 코드의 의미가 더 명확히 파악 가능해졌고, 상수만 다시 초기화하면 다회 활용이 가능하다.