반응형
이번 글에서는 클래스 내부에 변하지 않는 고정값을 선언할 때 사용하는
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)
- 프로그램 어디서든 일관된 값을 사용할 수 있음
- 수식에 상수를 활용하면 코드 가독성과 유지보수성이 높아짐
- 상수는 변경될 가능성이 없는 공통 데이터(물리 상수, 시스템 설정) 등을 정의할 때 사용
'프로그래밍 > JAVA' 카테고리의 다른 글
54. Getter/Setter를 이용한 캡슐화 (Encapsulation) (0) | 2025.04.29 |
---|---|
53. 접근 제한자에 따른 접근 가능 범위 (public, default, private) (0) | 2025.04.29 |
52. 패키지와 import 사용하기 (0) | 2025.04.29 |
50. final 필드 - 수정 불가능한 데이터 만들기 (0) | 2025.04.29 |
49. static 메서드에서 인스턴스 멤버 사용하기 (2) | 2025.04.28 |
48. static 필드와 static 메서드 (0) | 2025.04.28 |