enum은 열거형 상수 클래스라고 간단하게 생각하면됩니다. public enum PaymentType { CARD , CASH } 결제방식에 대하여 분기처리시, enum을 사용하여 분기처리중 헷갈렸던 부분을 다시정리했습니다. public static PaymentProcessor createPaymentProcessor(String paymentType) { //1. 아래 분기처리는 실행이 되지않습니다. if (PaymentType.CARD.equals(paymentType)) { return new CardPayment(paymentType); //2. 아래 분기처리는 정상적으로 작동됩니다. } else if (PaymentType.CASH.name().equals(paymentType)) { retu..