본문 바로가기

언어 기초/JAVA

final [JAVA | 학습을 위한 자료 | 김영한 자바 기본]

자바 상수 특징

  • static final 키워드를 사용한다.
  • 대문자를 사용하고 구분은 _ (언더스코어)로 한다. (관례) 일반적인 변수와 상수를 구분하기 위해 이렇게 한다.
  • 필드를 직접 접근해서 사용한다. 상수는 기능이 아니라 고정된 값 자체를 사용하는 것이 목적이다. 상수는 값을 변경할 수 없다. 따라서 필드에 직접 접근해도 데이터가 변하는 문제가 발생하지 않는다.
public class Constant {
	//수학 상수
	public static final double PI = 3.14;
	//시간 상수
	public static final int HOURS_IN_DAY = 24; 
	public static final int MINUTES_IN_HOUR = 60; 
	public static final int SECONDS_IN_MINUTE = 60; //애플리케이션 설정 상수
	public static final int MAX_USERS = 1000;
}

final 변수와 참조

  • 참조형 변수 data 에 final 이 붙었다. 이 경우 참조형 변수에 들어있는 참조값을 다른 값으로 변경하지 못한다. 쉽게 이야기해서 이제 다른 객체를 참조할 수 없다. 그런데 이것의 정확한 뜻을 잘 이해해야 한다. 참조형 변수 에 들어있는 참조값만 변경하지 못한다는 뜻이다. 이 변수 이외에 다른 곳에 영향을 주는 것이 아니다.
  • Data.value 는 final 이 아니다. 따라서 참조 대상의 객체 값을 변경할 수 있다.