아이템 38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라
열거 타입 확장
확장할 수 있는 열거 타입
public interface Operation {
double apply(double x, double y);
}public enum BasicOperation implements Operation {
PLUS("+") {
public double apply(double x, double y) { return x + y; }
},
MINUS("-") {
public double apply(double x, double y) { return x - y; }
},
TIMES("*") {
public double apply(double x, double y) { return x * y; }
},
DIVIDE("/") {
public double apply(double x, double y) { return x / y; }
};
private final String symbol;
BasicOperation(String symbol) {
this.symbol = symbol;
}
@Override public String toString() {
return symbol;
}
}확장된 열거 타입 사용 방법
정리
Last updated