switch 문에서는 Operation.ADD가 아니라 ADD를 사용해야 한다(switch 문에 쓰인 표현식의 타입에서 타입을 추론한다).
Note ≣
언어 명세에서는 열거를 이용한 switch 문에서 하나도 빠뜨리는 것 없이 철저하게 작성하지 않으면(즉, 열거 상수를 case 절에 모두 나열하지 않았고 default 절도 없으면) 컴파일러가 경고할 것을 권고한다. 하지만 오라클 컴파일러는 이런 경고를 보여 주지 않는다.
Tip
switch 문 밖에서 열거의 인스턴스를 간결한 이름으로 참조하고 싶을 때는 정적 임포트 선언을 사용한다. 예를 들어 다음과 같이 선언하면 Size.SMALL 대신 SMALL을 사용할 수 있다.
import static com.horstmann.corejava.Size.*;