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

kamser님의 프로필 이미지
kamser

작성한 질문수

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

5강. 코틀린에서 제어문을 다루는 방법

switch의 기능인건 코틀린에서는 없나요?

해결된 질문

작성

·

439

1

fun judgeNumber5(grade: Int) {
    when (grade) {
        3 -> {
            println("A의 권한을 갖습니다")
        }
        2 -> {
            println("B의 권한을 갖습니다")
        }
        else -> {
            println("C의 권한을 갖습니다.")
        }
    }
}
public static void judgeNumber5(int grade) {
        switch (grade) {
            case 3 :
                System.out.println("A의 권한을 갖습니다.");
            case 2 :
                System.out.println("B의 권한을 갖습니다.");
            default:
                System.out.println("C의 권한을 갖습니다.");
        }
    }

이렇게 할 경우에 코틀린은 early return으로 해당 구문만 실행하고 when 절을 나가게 되는데

java의 switch 기능처럼 사용하는 방법이 있을까요?

 

답변 1

1

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요, yousd179님!! 질문 올려주셔서 감사드립니다! 😊

결론부터 말씀드리자면, 코틀린에서 break 가 없는 when expression은 지원하지 않고 있습니다!!

관련해서 2017년에 https://discuss.kotlinlang.org/t/fall-through-in-when/2540 discussion이 있더라고요! 한 번 읽어보셔도 좋을 것 같습니다~~

감사합니다!!! 🙏🙏

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

감사합니다 !! 회사에서 코틀린을 사용해서 자바배우고 바로 코틀린을 공부해야했는데 정말 도움이 많이되고 있습니다 !! 나중에 시간되실때 코틀린 심화도 해주시면 정말 좋을거같아요 !!

kamser님의 프로필 이미지
kamser

작성한 질문수

질문하기