enum
은 일반적으로 상수로 간주되지만 public
필드로 선언하거나 public setter
가 있는 경우 상수가 아닙니다. enum
필드는 private
으로 설정하고 생성자를 통해서만 생성되어야 이상적이지만, 그럴 수 없는 경우 외부에 공개되는 것을 최대한 줄여야 합니다.
규칙을 어긴 코드
public enum Continent {
NORTH_AMERICA (23, 24709000),
// ...
EUROPE (50, 39310000);
public int countryCount; // 규칙을 어긴 코드
private int landMass;
Continent(int countryCount, int landMass) {
// ...
}
public void setLandMass(int landMass) { // 규칙을 어긴 코드
this.landMass = landMass;
}
규칙을 준수한 해결책
public enum Continent {
NORTH_AMERICA (23, 24709000),
// ...
EUROPE (50, 39310000);
private int countryCount;
private int landMass;
Continent(int countryCount, int landMass) {
// ...
}
If you like SONARKUBE, don’t forget to give me a star.