Enum 소개

Java의 입력/출력과 스트림

Alex Liu

Software Development Engineer

왜 Enum을 쓰나요?

  • Enum은 고정된 값 집합을 정의합니다
    • 예: 요일, 상태 코드
  • 코드 가독성과 유지보수성이 향상됩니다
  • 변수에 유효하지 않은 값을 방지합니다
  • 참고: Enums는 자바 표준 라이브러리의 일부이므로 import가 필요 없습니다
Java의 입력/출력과 스트림

Enum 정의하기

  • enum 키워드로 Enum을 선언합니다
    enum Day {
      MONDAY, 
      TUESDAY, 
      WEDNESDAY, 
      THURSDAY, 
      FRIDAY, 
      SATURDAY, 
      SUNDAY;
    }
    
  • 각 값은 상수이며 대문자로 작성합니다
Java의 입력/출력과 스트림

프로그램에서 Enum 사용하기

  • 예시: Enum 값을 할당하고 출력하기
    public class EnumExample {
      public static void main(String[] args) {
          Day today = Day.WEDNESDAY; // Enum 값 할당
          System.out.println("Today is: " + today);
      }
    }
    
  • 출력:
    Today is: WEDNESDAY
    
Java의 입력/출력과 스트림

Enum 값 반복하기

  • .values()로 Enum의 모든 값을 가져옵니다
  • .ordinal()은 요소의 위치를 반환합니다
  • 앞서 정의한 Day Enum을 재사용합니다:
    for (Day d : Day.values()) {
      System.out.println(d);
      System.out.print(
      " is at index " + d.ordinal());
    }
    
  • 이 프로그램은 Enum에 정의된 모든 값을 출력합니다:
    MONDAY is at index 0
    TUESDAY is at index 1
    WEDNESDAY is at index 2
    THURSDAY is at index 3
    FRIDAY is at index 4
    SATURDAY is at index 5
    SUNDAY is at index 6
    
Java의 입력/출력과 스트림

메서드를 가진 Enum

  • Enums는 추가 기능을 위한 메서드를 가질 수 있습니다
enum Status {
    SUCCESS("Operation successful"),
    ERROR("An error occurred");

    private String message;
    Status(String message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
}
Java의 입력/출력과 스트림

메서드를 가진 Enum

  • Status라는 Enum의 사용 예시
public class EnumMethodExample {
    public static void main(String[] args) {
        Status current = Status.SUCCESS;
        System.out.println("Status: " + current);
        System.out.println("Message: " + current.getMessage());
    }
}
  • 출력:
Status: SUCCESS
Message: Operation successful
Java의 입력/출력과 스트림

연습해 봅시다!

Java의 입력/출력과 스트림

Preparing Video For Download...