인프런 커뮤니티 질문&답변

shafeel2님의 프로필 이미지

작성한 질문수

윤재성의 Google 공식 언어 Kotlin 프로그래밍 시작하기

33강 Sealed 클래스

sealed class 관련 code 내 when 에서 오류가 발생합니다

23.08.28 12:25 작성

·

212

0

fun checkNumberS(obj :NumberS) {
when(obj) { // <<<<< 오류발생줄
is NumberS.SeOne -> {
println("ONE 입니다")
println(obj.a)
println(obj.b)
}
is NumberS.SeTwo -> {
println("TWO 입니다")
println(obj.a)
println(obj.b)
when(obj.a) {
1 -> println("1 입니다")
2 -> println("2 입니다")
3 -> println("3 입니다")
}
}
is NumberS.SeThr -> {
println("THREE 입니다")
println(obj.a)
println(obj.b)
}
}
}

sealed class NumberS {
class SeOne(val a:Int, val b: Int) : NumberS()
class SeTwo(val a:Int, val b: String) : NumberS()
class SeThr(val a:Int, val b: Double) : NumberS()
class SeFou(val a:Int) : NumberS() {
fun sealedFun () {

}
}
}

fun main() {
val c1 = NumberS.SeOne(1, 3)
checkNumberS(c1) // ONE 입니다 1 3
val c2 = NumberS.SeTwo(3, "sealed class")
checkNumberS(c2) // TWO 입니다 3 sealed class 3 입니다
val c3 = NumberS.SeThr(5, 3.1415)
checkNumberS(c3) // THREE 입니다 5 3.1415
}

답변 2

0

소프트캠퍼스님의 프로필 이미지
소프트캠퍼스
지식공유자

2023. 09. 13. 11:02

오류메시지를 올려주시기 바랍니다ㅏ\

0

shafeel2님의 프로필 이미지
shafeel2
질문자

2023. 08. 28. 12:26

when() { } 부분에서의 오류는 어떻게 해결해야 하는지 궁금합니다

shafeel2님의 프로필 이미지

작성한 질문수

질문하기