모두CBT

25-3열거형(enum)을 사용한 아래 Java 코드를 실행했을 때 콘… | 2025년 정보처리기사실기 3회차 기출문제 상세 페이지

15

25-3

열거형(enum)을 사용한 아래 Java 코드를 실행했을 때 콘솔에 찍히는 문자열을 적으시오.

enum Level {
    LOW("green"), MID("yellow"), HIGH("orange"), TOP("red");

    private final String tag;

    Level(String tag) {
        this.tag = tag;
    }

    public String tag() {
        return tag;
    }
}

public class Main {
    public static void main(String[] args) {
        Level lv = Level.values()[Level.LOW.name().length()];
        System.out.println(lv.tag());
    }
}
해설

red


[해설]

Java enum의 name()은 상수 이름 문자열을, values()는 선언 순서대로 담은 배열을 돌려준다.

  • Level.LOW.name()은 "LOW"라서 length()는 3이다.
  • values()는 [LOW, MID, HIGH, TOP]이므로 인덱스 3은 TOP이다.
  • TOP 생성자에 넘긴 tag가 "red"라서 tag()는 red를 돌려준다.

혼동 주의: name()은 "LOW"(상수 이름)이지 "green"(필드 값)이 아니다. 배열 인덱스는 0부터라 3은 네 번째 상수다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.