Sealed Class?


<aside> πŸ’‘

Super 클래슀λ₯Ό μƒμ†λ°›λŠ” μžμ‹ 클래슀의 μ’…λ₯˜λ₯Ό μ œν•œν•˜λŠ” νŠΉμ„±μ„ κ°€μ§€κ³  μžˆλŠ” 클래슀

</aside>


νŠΉμ§•


<aside> πŸ’‘ when 을 μ‚¬μš©ν•  λ•Œ else λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ•„λ„ 됨

sealed class Color {
    object Red : Color()
    object Yellow : Color()
    object Blue : Color()
}

val color: Color = Color.Red

val font = when(color){
    is Color.Red ->{
        "Red"
    }
    is Color.Blue ->{
        "Blue"
    }
    is Color.Yellow ->{
        "Yellow"
    }
}

fun main(){
    println(font)
		// Red
}

</aside>


Sealed 와 Enum 의 차이


<aside> πŸ’‘ Enum κ³Ό ν•˜μœ„ ν΄λž˜μŠ€λ“€μ˜ νƒ€μž…μ΄ μ •ν•΄μ Έ μžˆλ‹€λŠ” 곡톡점을 κ°€μ§€κ³  있음

</aside>