item 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;
}
}확장 열거 타입 사용해보기
방식 1
방식 2
인터페이스를 사용한 열거 타입 확장의 특징
Last updated