Enum(열거형)은 여러 상수 값을 하나의 데이터 타입으로 정의할 수 있는 클래스이다.
고정된 값들을 안전하게 다룰 수 있다는 장점이 있고,
클래스처럼 생성자, 메서드 등을 정의할 수 있어서 다양한 기능을 포함할 수 있다.
enum 키워드를 사용하여 정의하며, 기본적으로 아래와 같은 형식을 가진다.
public enum EnumName {
CONSTANT1,
CONSTANT2,
CONSTANT3;
}
과제로 만들고 있는 '사칙연산 수행하는 계산기' 에서 연산자로 받는 문자 종류에 따라 문제가 발생할 수 있어서, 연산자를 Enum으로 정의하여 활용해보았다. 아래와 같다.

기존에 String 타입으로 연산자를 받았을 때 지정된 연산자 이외의 String 값이 실수로 입력되는 경우 문제가 되었는데, 이렇게 enum을 사용하여 해당 문제를 개선할 수 있었다.