안녕하세요
K-IN 입니다.
코틀린 제어 흐름을 구현하기 위한 if-else, when 에 대해서 알아보겠습니다.
전체 강의 목록은 아래의 링크를 클릭해주세요.
코틀린 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 올림.
'프로그래밍 > 코틀린' 카테고리의 다른 글
K008. 코틀린 루프(반복분, Loop) 깊게 살펴보기 - While 루프 (0) | 2024.02.03 |
---|---|
K007. 코틀린 루프(반복분, Loop) 깊게 살펴보기 - For 루프 (0) | 2024.02.02 |
K005. 클래스와 객체 한눈에 정리 (0) | 2024.02.01 |
K004. 코틀린 제어흐름, 함수 한눈에 정리 (2) | 2024.02.01 |
K003. 변수, 데이터 타입 및 연산자 한눈에 정리 (0) | 2024.01.31 |