JAVA · 기초 문법
열거형(Enum) 심화
열거형에 필드, 메서드, 추상 메서드를 추가하는 고급 패턴입니다.
기초 문법중급enum열거형필드메서드
핵심 설명
열거형에 필드, 메서드, 추상 메서드를 추가하는 고급 패턴입니다.
Java code
public enum Planet {
MERCURY(3.303e+23, 2.4397e6),
VENUS (4.869e+24, 6.0518e6),
EARTH (5.976e+24, 6.37814e6),
MARS (6.421e+23, 3.3972e6);
private final double mass; // kg
private final double radius; // m
Planet(double mass, double radius) {
this.mass = mass;
this.radius = radius;
}
static final double G = 6.67300E-11;
double surfaceGravity() {
return G * mass / (radius * radius);
}
double surfaceWeight(double otherMass) {
return otherMass * surfaceGravity();
}
public static void main(String[] args) {
double earthWeight = 75.0;
double mass = earthWeight / EARTH.surfaceGravity();
for (Planet p : values()) {
System.out.printf("%s에서 몸무게: %.2fkg%n",
p, p.surfaceWeight(mass));
}
}
}학습 팁
values()는 호출 시마다 배열을 복사합니다. 자주 호출하면 List.of(values())로 캐시하세요.
주의할 점
열거형 생성자는 항상 private입니다. public으로 선언하면 컴파일 에러가 발생합니다.
자주 묻는 질문
열거형(Enum) 심화란 무엇인가요?
열거형에 필드, 메서드, 추상 메서드를 추가하는 고급 패턴입니다.
열거형(Enum) 심화 학습 시 주의할 점은 무엇인가요?
열거형 생성자는 항상 private 입니다. public 으로 선언하면 컴파일 에러가 발생합니다.
Continue Learning
Java 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.