본문 바로가기
프로그래밍/코틀린

K006. 코틀린 제어 흐름 if-else, when 깊게 살펴보기

by K-인사이터 2024. 2. 2.
반응형

안녕하세요

K-IN 입니다.

 

코틀린 제어 흐름을 구현하기 위한 if-else, when 에 대해서 알아보겠습니다. 

전체 강의 목록은 아래의 링크를 클릭해주세요.

 

K000. 코틀린 시리즈 (연재물)

안녕하세요 K-IN 입니다. 요즘 코틀린을 이용한 개발 프로젝트가 늘어나고 있습니다. 이에, 코틀린에 대해서 상세하게 정리하는 간행물을 제작하고자 합니다. 여기에 있는 링크들은 모두 코틀린

k-in.tistory.com

 

 

코틀린 if-else, when

코틀린은 If-else, when 등 포괄적인 제어 흐름을 구성하는 문법을 제공합니다. 

 

팁. Statement 와 Expression 의 차이 

가끔씩 프로그래밍 언어를 학습하다보면 Statement(문장) 와 Expression(표현식) 을 구분하여 사용하는 것을 알 수 있습니다. 

  • Statement: 어떤 작업을 수행하지만 값을 반환하지 않는 실행할 수 있는 최소한의 독립적인 코드 조각, 동작을 수행하는데 초점을 맞춤 
  • Expression: 그 자체로 어떤 값을 가지는 코드조각, 값을 계산하는데 사용

예를 들어, 아래의 구문은 Expression 입니다. 실행 결과 max 변수를 초기화하는데 사용됩니다. 

val max = if (a > b) a else b

 

코틀린은 expression 지향언어로 많은 제어구조들이 expression 으로 사용될 수 있습니다. 

이러한 특징으로 인해 코틀린은 더 간결하고 풍부한 코드를 작성할 수 있습니다. 

 

코틀린 제어흐름: if-else

코틀린은 if-else 을 지원하며 기본적인 블록형태의 문법과 인라인 형태의 표현식(expression) 문법을 지원합니다.

특히, else if 를 표현식에서 지원하므로 간결한 If-else 표현식을 작성할 수 있습니다. 

 

아래의 코틀린 플레이에서 직접 편집하고 실행하면서 프로그램이 어떻게 구동되는지 확인해봅니다. 

 

 

코틀린 제어흐름: when

코틀린의 when 은 C 계열 언어의 switch 구문과 유사합니다. 

when 을 통해 여러 분기가 있는 조건식을 정의할 수 있습니다. 

 

특히 아래의 cases 함수를 살펴보면 다양한 변수 타입(type) 또는 값(value)에 대해 switch 문처럼 분기를 설정할 수 있습니다. 

대신 else 키워드를 사용하여 default 키워드와 동일한 효과를 줍니다. 

 

 

앞서 코틀린은 expression 지향 언어라고 설명하였습니다. when 또한 표현식 형태로 작성 가능합니다. 

여기서 kotlin 의 표준라이브러리를 사용하였습니다.

 

Random 클래스를 통해 랜덤한 Boolean 값을 생성하고 Bit 열거 타입을 출력합니다.

when 표현식은 출력된 값을 기반으로 0 또는 1을 리턴합니다. 

 

직접 코드를 수정해보고 실행하면 이해가 쉽습니다. 

 

 

이외에도 in, is, 콤마(,)를 활용하여 다양한 표현이 가능합니다. 

아래의 예제를 통해서 다양한 when 구문을 응용하는 방법을 체득해봅시다. 

 


요약

  • 코틀린은 expression 지향 언어입니다.
  • 구문(statement)와 표현식(expression)의 차이점을 배웠습니다. 
  • when 은 in, is, 콤마(,) 등을 활용해 다양한 구현이 가능합니다.
  • 코틀린의 표준라이브러리에서 Random 클래스를 사용해보았습니다. 

 

이상입니다.

K-IN 올림. 

반응형