본문 바로가기

반응형

이번 글에서는 클래스 내부에 변하지 않는 고정값을 선언할 때 사용하는
static final 조합, 즉 상수(Constant)를 정의하는 방법을 학습합니다.
상수는 프로그램 전체에서 같은 값을 공유하고, 변경되지 않도록 보장할 수 있습니다.


📦 클래스 코드 (Earth.java)

package ch06.sec11.exam02;

public class Earth {
	static final double EARTH_RADIUS = 6400;
	static final double EARTH_SURFACE_AREA = 4 * Math.PI * EARTH_RADIUS * EARTH_RADIUS;
}

📌 실행 코드 (EarthExample.java)

package ch06.sec11.exam02;

public class EarthExample {
	public static void main(String[] args) {
		System.out.println("지구의 반지름 : " + Earth.EARTH_RADIUS + "km");
		System.out.println("지구의 표면적 : " + Earth.EARTH_SURFACE_AREA + "km^2");
	}
}

💬 코드 설명

  • static final double EARTH_RADIUS = 6400;
    → 지구 반지름 상수, 프로그램 어디서나 동일하게 사용
  • static final double EARTH_SURFACE_AREA = 4 * Math.PI * EARTH_RADIUS * EARTH_RADIUS;
    → 구의 표면적 공식(4πr²)을 이용해 계산한 값
    → 반지름을 이용해 다른 상수도 정의 가능
  • Earth.EARTH_RADIUS, Earth.EARTH_SURFACE_AREA
    클래스 이름으로 직접 접근 (객체 생성 없이 사용)

💻 실행 결과

지구의 반지름 : 6400.0km
지구의 표면적 : 514718540.2467583km^2

📌 간단 정리

선언 형태 의미
static 클래스에 소속, 객체 없이 사용 가능
final 한 번 초기화되면 변경 불가
static final 변하지 않는 고정값(상수)을 클래스에 소속시킴

💡 포인트 정리

  • static final은 상수를 정의할 때 사용
  • 상수 이름은 관례적으로 모두 대문자로 작성 (ex. EARTH_RADIUS)
  • 프로그램 어디서든 일관된 값을 사용할 수 있음
  • 수식에 상수를 활용하면 코드 가독성유지보수성이 높아짐
  • 상수는 변경될 가능성이 없는 공통 데이터(물리 상수, 시스템 설정) 등을 정의할 때 사용
댓글