0Pricing
Kotlin Academy · 강의

열거형 값과 서수

반복하고 색인으로 접근합니다

열거형 값과 서수은(는) CoddyKit의 무료 Kotlin Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Kotlin Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

모든 상수 나열하기

생성된 values() 함수는 선언 순서대로 모든 상수를 배열에 담아 반환합니다.

enum class Suit { HEARTS, CLUBS }

fun main() {
    for (s in Suit.values()) println(s)
}

values() 대신 entries 사용하기

최신 코틀린에서는 entries를 선호합니다. entries는 변경할 수 없는 목록을 반환하며, 호출할 때마다 새 배열을 만드는 일을 피할 수 있습니다.

enum class Suit { HEARTS, CLUBS }

fun main() {
    for (s in Suit.entries) println(s)
}

ordinal 속성

모든 상수에는 ordinal이 있으며, 이는 선언 순서에서 0부터 시작하는 위치입니다.

enum class Size { S, M, L }

fun main() {
    println(Size.S.ordinal)
    println(Size.L.ordinal)
}

상수 개수 세기

entries.size를 사용하여 상수가 몇 개 있는지 셉니다.

enum class Day { MON, TUE, WED }

fun main() {
    println(Day.entries.size)
}

인덱스를 사용해 순회하기

서수 또는 인덱스를 결합하여 각 상수에 번호를 매깁니다.

enum class Color { RED, GREEN, BLUE }

fun main() {
    for (c in Color.entries) {
        println("${c.ordinal}: $c")
    }
}

valueOf와 이름 복습

왕복 변환을 하려면 valueOf()(문자열에서 상수로)와 name(상수에서 문자열로)을 함께 사용합니다.

enum class Status { ON, OFF }

fun main() {
    val s = Status.valueOf("ON")
    println(s.name)
}

상수에 함수 적용하기

entries는 목록이므로 map과 같은 컬렉션 함수를 사용할 수 있습니다.

enum class Coin(val cents: Int) { PENNY(1), DIME(10) }

fun main() {
    val names = Coin.entries.map { it.name }
    println(names)
}

속성으로 찾기

속성을 기준으로 first 또는 find를 사용하여 상수를 검색할 수 있습니다.

enum class Coin(val cents: Int) { PENNY(1), DIME(10) }

fun main() {
    val c = Coin.entries.first { it.cents == 10 }
    println(c)
}

서수는 변경에 취약합니다

ordinal 값을 장기간 저장하지 마세요. 상수 순서를 바꾸면 서수가 변경되어 저장된 데이터가 손상됩니다. 대신 name을 저장합니다.

enum class Level { LOW, HIGH }

fun main() {
    println(Level.HIGH.name)
}

서수로 다음 상수 찾기

서수와 entries 목록을 사용하여 상수 사이를 이동할 수 있습니다.

enum class Gear { FIRST, SECOND, THIRD }

fun next(g: Gear): Gear {
    val all = Gear.entries
    return all[(g.ordinal + 1) % all.size]
}

fun main() {
    println(next(Gear.FIRST))
}

종합하기

name과 ordinal을 모두 읽으면서 순회하여 열거형을 요약합니다.

enum class Planet { MERCURY, VENUS, EARTH }

fun main() {
    Planet.entries.forEach {
        println("${it.ordinal} -> ${it.name}")
    }
}

빠른 확인

열거형 값과 서수에 대한 이해를 확인해 보세요.

복습

상수를 열거하고 인덱스를 지정하는 방법을 배웠습니다:

  • entries(권장)와 values()는 모든 상수를 나열합니다.
  • ordinal은 0부터 시작하는 선언 위치입니다.
  • entries는 목록이므로 컬렉션 함수를 사용할 수 있습니다.
  • 오래 보존해야 하는 데이터에는 ordinal보다 name을 저장하는 것이 좋습니다.
enum class Size { S, M, L }

fun main() {
    println(Size.entries.size)
    println(Size.M.ordinal)
}

자주 묻는 질문

“열거형 값과 서수” 강의는 무료인가요?

네 — “열거형 값과 서수” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Kotlin Academy 강의 전체를 잠금 해제할 수 있습니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“열거형 값과 서수”에서 뭘 배우나요?

반복하고 색인으로 접근합니다 브라우저에서 직접 실행하는 실습 코드로 Kotlin Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Kotlin Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Kotlin Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“열거형 값과 서수” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Kotlin Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Kotlin Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 열거형 정의
  2. 열거형 속성과 메서드
  3. when을 사용하는 열거형
  4. 열거형 값과 서수
← Kotlin Academy(으)로 돌아가기