일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스프링 부트
- JPQL
- javamailsender
- 코틀린
- kotlin
- portconflict
- 스프링
- Stream
- 토큰기반인증
- 웹서버오류
- sumof
- 티스토리챌린지
- Token
- 자바
- java
- map
- JPA
- 토큰
- 서버실행실패
- foreachindexed
- Spring
- devpi
- filternotnull
- 오블완
- entity
- 객체지향
- api인증
- Spring Boot
- 8080error
- JWT
- Today
- Total
DeveloPiano
[Kotlin] 코틀린 for 문에서 until과 .. 차이점 완벽 정리 본문
코틀린(Kotlin)에서는 for 문을 사용하여 반복문을 쉽게 작성할 수 있으며, 반복 범위를 지정할 때 ..(range 연산자)와 until 키워드를 사용할 수 있습니다. 하지만 이 둘은 동작 방식이 다르기 때문에 적절한 상황에서 선택해야 합니다. 이번 포스팅에서는 ..과 until의 차이점과 활용법을 예제와 함께 알아보겠습니다.

📌 for 문과 반복 범위
코틀린의 for 문에서 특정 범위를 반복할 때 두 가지 주요 방식이 있습니다:
- .. 연산자 (Range)
- until 키워드
이 두 가지 방법은 유사해 보이지만, 중요한 차이점이 있습니다.
🔹 .. 연산자 (Range)
.. 연산자는 코틀린의 범위 연산자로, 지정한 시작 값부터 끝 값까지 포함하는 범위를 생성합니다.
✅ .. 사용 예제
fun main() {
for (i in 1..5) {
println(i)
}
}
출력:
1
2
3
4
5
위 코드에서 1..5는 1부터 5까지 포함하는 범위를 생성하며, for 문이 이를 반복합니다.
🔹 .. 사용 시 주의점
.. 연산자는 마지막 값을 포함하기 때문에, 배열이나 리스트의 인덱스를 순회할 때 사용하면 IndexOutOfBoundsException이 발생할 가능성이 있습니다.
fun main() {
val list = listOf("A", "B", "C")
for (i in 0..list.size) { // ⚠ 오류 발생 가능
println(list[i])
}
}
위 코드에서 list.size는 3이므로 0..3 범위가 생성됩니다. 하지만 list[3]은 존재하지 않기 때문에 런타임 오류가 발생합니다.
🔹 until 키워드
until 키워드는 범위를 생성할 때 끝 값을 포함하지 않는 연산자입니다. 즉, start until end는 start부터 end-1까지 반복합니다.
✅ until 사용 예제
fun main() {
for (i in 1 until 5) {
println(i)
}
}
출력:
1
2
3
4
위 코드에서 1 until 5는 1부터 4까지만 반복하며, 5는 포함되지 않습니다.
🔹 until의 장점
until을 사용하면 리스트나 배열의 인덱스를 반복할 때 범위 초과 오류를 방지할 수 있습니다.
fun main() {
val list = listOf("A", "B", "C")
for (i in 0 until list.size) { // 안전하게 인덱스 순회 가능
println(list[i])
}
}
출력:
A
B
C
이 방식은 list.size - 1을 따로 계산하지 않아도 되므로 실수할 가능성이 줄어듭니다.
🎯 .. vs until 비교 정리
연산자포함 범위사용 예제추천 사용 상황
.. | 끝 값 포함 | 1..5 → 1,2,3,4,5 | 고정된 범위 순회 시 |
until | 끝 값 미포함 | 1 until 5 → 1,2,3,4 | 리스트 인덱스 순회 시 |
✨ 결론
코틀린에서 for 문을 사용할 때 ..과 until은 각각 다른 목적을 가지고 있습니다.
- ..은 끝 값을 포함하는 범위를 만들고 싶을 때 사용합니다.
- until은 끝 값을 포함하지 않는 범위를 만들고 싶을 때 사용하며, 리스트 인덱스를 순회할 때 특히 유용합니다.
따라서 사용 목적에 맞게 ..과 until을 적절히 선택하여 더욱 안전하고 가독성 좋은 코드를 작성해 보세요! 🚀
'Develop > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린(Kotlin) forEachIndexed 완벽 가이드 (0) | 2025.03.05 |
---|---|
[Kotlin] indices 속성 완벽 가이드 (1) | 2025.03.03 |
[Kotlin] sumOf 함수 (0) | 2025.02.26 |
[Kotlin] check() vs require(): if 문과의 비교 (0) | 2025.01.31 |
[Kotlin] Map과 MutableMap : 읽기 전용과 변경 가능한 Map의 차이점 (0) | 2024.11.14 |