4. if & for loop

조건문과 반복문

1) if문 — 자바와 같지만 “표현식”

  • 기본 문법은 자바와 동일

  • 하지만 코틀린에서는 if 자체가 값(Expression)을 반환

  • 따라서 삼항 연산자(?:)가 필요 없음

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

자바였다면:

int max = (a > b) ? a : b;

👉 Kotlin은 if로 바로 값 할당 가능.


2) when — 자바 switch의 확장판

  • 자바의 switch 대신 사용

  • 조건에 값, 타입, 범위, 여러 조건 등을 지정 가능

  • else는 default와 같은 역할

  • 값 없는 when도 가능 → early return 같은 패턴에 유용

when (x) {
    1 -> println("one")
    in 2..5 -> println("range 2~5")
    is String -> println("it's a String")
    else -> println("other")
}

실무 활용

  • Enum / Sealed class와 조합 → 컴파일러가 모든 케이스 처리 여부 검사


3) for문 — 범위와 컬렉션 중심

for-each

  • Java: for (String item : list)

  • Kotlin: in 키워드 사용

전통적 for문 → Range & Progression

  • 1..3: 1부터 3까지 범위

  • downTo, step: 등차수열 기반 진행

👉 코틀린의 전통적 for문은 사실상 IntProgression(등차수열) 기반


4) while / do-while

  • 문법과 동작이 자바와 동일


5) 실무 패턴

A. 리스트 순회

withIndex()로 인덱스와 값 동시 순회.

B. when + sealed class

→ 새 상태 추가 시 컴파일러가 경고, 실수 방지.

C. Range 활용

→ off-by-one 에러 줄이는 패턴.

Last updated