Java : 11.0.15.1 OS : Windows 10 Pro IDE : Eclipse IDE for Enterprise Java and Web Developers - 2022-06
상수
상수와 리터럴
상수(constant)란 변하지 않는 값을 저장하는 공간이다. 즉, 변수처럼 값을 저장할 수 있는 공간이지만, 한번 값을 저장하면 다시 변경할 수 없다. 상수를 선언하는 방법은 변수의 타입 앞에 final 키워드를 붙여 주면 된다. JDK의 버전에 따라 다른데, JDK 1.6 이전 버전일 경우에는 반드시 선언과 동시에 초기화를 해 주어야 한다. JDK 1.6 버전부터는 사용하기 전에만 초기화를 하면 된다. 다만 선언과 동시에 초기화를 하는 습관을 들여 두 가지 상황에서 문제가 없도록 하는 것을 권장한다.
final[상수의 타입] [상수의 이름] = [저장할 값];
또한, 암묵적인 규칙으로 상수의 이름은 대문자로 선언하며 어절의 구분은 언더바('_')를 사용한다. 아래 예시를 보자.
final String LANGUAGE = "JAVA";
final String JDK_VERSION = "1.6";
일상에서는 그 자체로 값을 의미하는 것을 상수라고 표현하는데, 프로그래밍에서는 상수를 위와 같이 정의한다. 프로그래밍에서는 그 자체로 값을 의미하는 것을 '리터럴(literal)'이라고 한다.
우리는 상수를 사용함으로써 이러한 리터럴에 의미를 부여하여 코드의 이해와 수정을 쉽게 할 수 있다.
아래 작성된 코드를 보자.
package com.devgsp.study.basic;
public class Variable4 {
public static void main(String[] args) {
// 비만도 측정(BMI 지수) 공식은 [몸무게 / 키의 제곱] (kg/㎡)
// 몸무게가 73kg, 키가 170cm일 경우
// '*' 연산자는 곱셈, '/' 연산자는 나눗셈을 의미한다. 연산자에 대해서는 추후 학습할 예정이다.
System.out.println("몸무게는 " + "73.0" + "kg, " + "키는 " + "1.7" + "m입니다.");
System.out.println("BMI 지수는 " + 73 / (1.7 * 1.7) + "입니다.");
System.out.println("=================================");
// 상수를 사용할 경우 구하는 공식의 의미가 명확해지고, 다른 값을 계산할 때도 상수의 초기화 값만 변경하면 된다.
final double WEIGHT = 73.0;
final double HEIGHT = 1.7;
double bmiCalc = WEIGHT / (HEIGHT * HEIGHT);
System.out.println("몸무게는 " + WEIGHT + "kg, " + "키는 " + HEIGHT + "m입니다.");
System.out.println("BMI 지수는 " + bmiCalc + "입니다.");
}
}
Variable4.java 실행 결과
[예제]
1. com.devgsp.study.basic 패키지에 MyVariable4 클래스를 생성하자. 2. '2022년 최저 임금'을 의미하는 정수형 상수 HOURLY_WAGE를 9160으로 초기화하자. 3. '일한 시간'을 의미하는 정수형 상수 WORK_HOUR를 160으로 초기화하자. 4. '월급'을 의미하는 정수형 변수 salary를 '2022년 최저 임금'과 '일한 시간'을 곱한 값으로 초기화하자. 곱셈을 의미하는 연산자는 '*'이다. 5. 위의 상수와 변수를 이용하여 아래와 같은 세 문장이 출력될 수 있는 프로그램을 작성하자.
최저 시급은 xxx원입니다. 이번 달에 일한 시간은 xxx시간입니다. 당신의 월급은 xxx원입니다.