// 문자열로 설정: 불안정함
String mode = "LIGHT";
mode = "DARK";
mode = "lite"; // 실수를 간편히 방지할 방법이 없음
// 1: LIGHT, 2: DARK
// 위 정보를 숙지해야 함 - 가독성 현저히 떨어짐
int mode = 1;
mode = 2;
// 타 변수에 사용되는 값들과 구분되지 않음
// 잘못된 범위의 값 입력에 대응하기 번거로움
int spaces = 3;
mode = spaces; // 이러한 실수를 방지하기 어려움
📁 ex01
☕ [ButtonMode.java](<http://ButtonMode.java>)
- 새 파일 생성시 enum
으로
public enum ButtonMode {
LIGHT, DARK
}
☕ ButtonSpace.java
public enum ButtonSpace {
SINGLE, DOUBLE, TRIPLE
}
☕ Button.java
public class Button {
private ButtonMode buttonMode = ButtonMode.LIGHT;
private ButtonSpace buttonSpace = ButtonSpace.SINGLE;
public void setButtonMode(ButtonMode buttonMode) {
this.buttonMode = buttonMode;
}
public void setButtonSpace(ButtonSpace buttonSpace) {
this.buttonSpace = buttonSpace;
}
}
☕ Main.java
Button button1 = new Button();
button1.setButtonMode(ButtonMode.DARK);
button1.setButtonSpace(ButtonSpace.TRIPLE);
// ⚠️ 아래와 같은 오용이 방지됨
button1.setButtonMode(ButtonSpace.DOUBLE);