본문 바로가기
언어 공부하기/코들린 개념

[망댕이의 Kotlin] 코틀린 조건문에 대해 빠르게 알아보기 (코틀린 if, else, when)

by 망댕이 2024. 9. 3.
반응형

코틀린뿐만 아니라 언어를 조금 맛만 봤더라도 조건문과 반복문에 대해서 많이 들어봤을 것이다.

이것들은 프로그램을 짜는데 정말로 중요한 문법이며 필수적인 역할을 한다.

다시 복습한다 생각하며 조건문과 반복문에 대해 빠르게 알아보도록 하자.

▷ 조건문

조건문에는 if, else, when이 자주 사용된다.

사용방법은 정말 간단하다.

 

▷ if~else문

if~else문은 if문에서 주어진 조건이 참 혹은 거짓일 때 실행되는 코드 블록이다.

val score = 80

if (score > 90) {
    println("A+")
} else if (score > 80) {
    println("B+")
} else {
    println("C+")
}

// 출력결과 : B+

 

▷ if~else문 표현식

 

코틀린에서 if~else 문은 표현식(expression)으로도 사용할 수 있다. if 문이 값을 반환할 수 있다는 의미이다.

val score = 85
val result = if (score > 80){
    print("Your exam is ")
    "Success" 
}else{
    print("Your exam is ")
    "Fail"
}
println(result)  

// 출력 결과: Your exam is Fail

 

표현식이 반환하는 결괏값은 각 영역의 마지막에 해당한다.

 

▷ when 표현식

 

when은 코틀린에서 매우 강력한 조건문이다. 이는 자바의 switch 문과 비슷하지만, 더 많은 기능을 제공한다.

when은 단순한 조건 비교부터 복잡한 패턴 매칭까지 다양한 경우에 사용될 수 있다.

val day = 3
val dayName = when (day) {
    1 -> "Monday"
    2 -> "Tuesday"
    3 -> "Wednesday"
    4 -> "Thursday"
    5 -> "Friday"
    6 -> "Saturday"
    7 -> "Sunday"
    else -> "Invalid day"
}
println(dayName)  

// 출력결과 : Wednesday

 

또한 when문의 조건으로 정수가 아닌 다른 타입의 데이터도 지정할 수 있다.

fun main(){
	var data : Any = 10
    when (data){
    	10 -> println("data is 10")
        "hello" -> println("data is hello")
        is String -> println("data is String") // is는 타입을 확인하는 연산자
        20, 30 -> println("data is 20 or 30"); // data가 20 혹은 30일 경우
        in 1..10 -> println("data is 1~10") // in은 범위 지정 연산자
        else -> {
        	println("data is null")
        }
    }
}

// 출력결과 : data is 10

 

 

이렇게 코틀린의 조건문에 대해 알아보았다. 자바와 유사하면서도 더 간결하고 강력한 기능을 제공한다. 코드를 작성할 때 이러한 기능을 최대한 활용하면 더 쉽고 효율적인 코드를 만들어낼 수 있을 것이다.

 

위 글 개념 오류 혹은 코드 오류가 있다면 댓글로 알려주시면 감사합니다!

반응형