Beginner 7 min readKotlin 2.0
Kotlin Enum Classes — Named Constants with Power
Enum classes represent a fixed set of constants. Each constant is an object instance of the enum class.
What You Will Learn
- Declare enum classes
- Add properties and methods to enums
- Use enums in when expressions
- Iterate enum values with values()
- Choose enum vs sealed class
Basic Enum
Use enum class to define a closed set of named values — directions, statuses, days of the week.
Simple Enum
kotlin
enum class Status { ACTIVE, INACTIVE, PENDING }
fun main() {
val s = Status.ACTIVE
println(s)
println(s.name)
}Output
ACTIVE
ACTIVE
Each constant is a singleton instance. name returns the constant identifier as a String.
Enums with Properties
Enum constants can have constructor parameters, turning each constant into a rich object.
Enum with Data
kotlin
enum class Planet(val massKg: Double) {
EARTH(5.97e24),
MARS(6.39e23)
}
fun main() {
for (p in Planet.entries) {
println("${p.name}: ${p.massKg}")
}
}Output
EARTH: 5.97E24
MARS: 6.39E23
Planet.entries (Kotlin 1.9+) lists all constants. Each stores its massKg value.
Practice Exercise
Exercisepredict output
What prints? enum class Color { RED, GREEN } fun main() { println(Color.GREEN.ordinal) }
Quick Quiz
Quick Quiz
When are enum classes the best choice?
Frequently Asked Questions
Related Tutorials
Last updated: 2026-05-19Kotlin 2.0
Written by KotlinGuide Editorial Team · Reviewed by KotlinGuide Technical Review