본문 바로가기
Android/Kotlin 기초

Kotlin 기초 문법 3 - 조건문 if, when

by 2Plus 2020. 5. 18.

 Kotlin의 조건문인 if-else와 when에 대한 사용 방법을 정리해본다. 지난 번에 작성한 글의 비교 연산자와 논리 연산자를 이용하면 Boolean 타입을 반환 받게 되는데 이 연산자들은 대부분 조건문에서 작성하게 된다. 상황에 따라 다른 코드가 동작되어야 할 때 비교/논리 연산자와 조건문을 함께 사용하면 된다. 이번 글에서 조건문을 어떻게 사용하는 지 알아보도록 하자.

 

 

if 조건문

 

 if 조건문은 위와 같이 if 키워드를 사용하여 괄호 안에 Boolean 타입 표현식을 사용하고 scope를 지정하여 해당 조건일 때 실행될 코드를 작성해주면 된다.

 

[Code 1]

 

 

[결과 1]

 

 

 위와 같이 코드를 작성하면, "x < y" 가 true를 반환하기 때문에 scope 안의 코드가 실행된 것을 확인할 수 있다.

 

 

[Code 2]

 

 

[결과 2]

 

 

 if 조건문을 활용한 간단한 함수를 만들어봤다. 아직 함수를 모른다면 해당 부분은 넘어가도 좋다. 값을 입력받아서 0보다 작을 때, 즉 음수일 때 마이너스를 붙여서 양수로 만들고, 값이 음수가 아니면 그대로 반환하여 절대값을 얻을 수 있는 함수이다. 조건문을 이런 식으로 활용할 수 있다.
 위의 예시에서 한 가지 확인할 점은 조건문에서 실행할 코드가 한 줄인 경우에는 위와 같이 중괄호 scope를 생략해도 된다는 점이다.

 

 

if-else 조건문

 if-else는 if 의 조건 false인 경우에 else scope block이 실행되도록 작성할 수 있는 조건문이다. else는 if와 꼭 함께 사용해야 하는 키워드이다. 단독으로 사용할 수는 없다.

 

[Code]

 

 

[결과]

 

 

 예시처럼 if 조건문의 조건이 false이면, else block이 동작한다.

 

 

표현식으로써의 if-else 조건문 사용

 if와 else를 모두 사용하여 if-else를 표현식으로 사용할 수 있다. 동작은 예시를 보면 이해할 수 있다.

 

[Code]

 

 

[결과]

 

 

 absoluteNumber에 절댓값을 저장해야 하는 경우, 조건문 안에서 할당해야 하는 것보다 if-else 자체를 표현식으로 사용하여 위와 같이 사용하는 것이 더 간단한 코드를 작성할 수 있다.

 

 

when 조건문

 Kotlin에는 switch-case 문이 없고 대신에 when 조건문이 있다. 기본적으로는 동일하다고 생각하면 되는데, 기능이 조금 더 있다. 조건에 따라 특정 코드를 실행할 때 사용한다고 보면 된다. 동일한 변수를 조건으로 if - else if 를 계속 사용하는 경우에 when 조건문을 사용하는 것이 더 깔끔할 수 있다.

 

 

 기본적인 형태는 위와 같다.

 

 

[Code]

 

 

[결과]

 

 

 예시를 확인해 보면, when 옆의 조건 값 표현식에서 score/20이 확인할 값이 되고, 이는 4가 된다. 그러면 비교값들 중 4에 있는 println("A") 코드가 실행되는 것을 확인할 수 있다. 맞는 비교 값이 없는 경우에 실행될 코드는 else에 넣어줄 수 있다.

 

 

표현식으로써의 when 조건문 사용

 when 조건문 역시 if-else 조건문과 동일하게 표현식으로 사용할 수 있다. 앞서 확인했던 예시를 표현식으로 사용하여 예시 코드를 작성해보았다.

 

[Code]

 

 

[결과]

 

 

 if-else 문의 경우와 다를 것 없이 표현식으로써 잘 동작하는 것을 확인할 수 있다.

 

 

반응형

댓글