Char와 사용자 지정 범위
정수를 넘어선 범위
Char와 사용자 지정 범위은(는) CoddyKit의 무료 Kotlin Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Kotlin Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
정수를 넘어서
범위는 Int에만 사용하는 것이 아닙니다. Kotlin은 문자와 기타 비교 가능한 타입의 범위를 지원합니다.
이 레슨에서는 문자 범위와 사용자 정의 타입이 rangeTo로 범위에 참여하는 방법을 살펴봅니다.
문자 범위 복습
문자에는 정의된 순서가 있으므로 'a'..'z'는 유효한 범위입니다.
반복하거나 포함 여부를 확인하는 등 다양한 작업을 할 수 있습니다.
fun main() {
for (c in 'a'..'f') print(c)
println()
println('q' in 'a'..'z')
}문자 검증하기
문자 범위를 사용하면 숫자나 문자인지 확인하는 등의 입력 검증을 읽기 쉽게 작성할 수 있습니다.
fun isDigit(c: Char): Boolean = c in '0'..'9'
fun main() {
println(isDigit('7'))
println(isDigit('x'))
}문자 세기
문자 범위를 반복하고 값을 수집하면 간단한 알파벳 목록을 만들 수 있습니다.
fun main() {
val alphabet = ('a'..'z').toList()
println(alphabet.size)
println(alphabet.first())
println(alphabet.last())
}긴 정수 범위
범위는 Long에도 사용할 수 있어 큰 숫자 범위에 유용합니다.
동일한 연산자를 적용할 수 있습니다.
fun main() {
val big = 1L..5L
println(big.sum())
}비교 가능한 타입의 범위
모든 Comparable 타입은 ..으로 범위를 만들 수 있지만, 이러한 범위는 반복이 아니라 포함 여부 확인만 지원합니다.
예를 들어 String 범위는 사전식 순서를 확인합니다.
fun main() {
val range = "apple".."mango"
println("cherry" in range)
println("zebra" in range)
}일부 범위를 반복할 수 없는 이유
반복하려면 정의된 증분이 필요합니다. 정수와 문자에는 1을 더하는 증분이 있지만, 문자열과 실수에는 다음 값을 정하는 명확한 방법이 없습니다.
따라서 이러한 범위는 in은 지원하지만 for 반복문은 지원하지 않습니다.
fun main() {
val r = 1.0..5.0
println(2.5 in r)
// for (x in r) // not allowed for Double
}사용자 정의 타입과 rangeTo
.. 연산자는 rangeTo 함수를 호출합니다. 클래스가 Comparable을 구현하면 별도 작업 없이 범위 포함 여부를 사용할 수 있습니다.
여기서는 간단한 버전 클래스가 숫자로 비교됩니다.
data class Ver(val n: Int) : Comparable<Ver> {
override fun compareTo(other: Ver) = n - other.n
}
fun main() {
val range = Ver(1)..Ver(5)
println(Ver(3) in range)
println(Ver(9) in range)
}연산자의 내부 동작
a..b를 작성하는 것은 a.rangeTo(b)를 호출하는 것과 같습니다.
연산자 형식은 같은 함수를 더 보기 좋게 작성한 구문일 뿐입니다.
fun main() {
val r1 = 1..5
val r2 = 1.rangeTo(5)
println(r1.toList() == r2.toList())
}알맞은 범위 선택하기
간단한 지침은 다음과 같습니다:
- 숫자와 문자 → 반복하고 확인합니다
- 실수와 사용자 정의 비교 가능 타입 → 포함 여부만 확인합니다
- 증분이 필요하면 정수 또는 문자 진행 수열을 사용하십시오
fun main() {
println('m' in 'a'..'z')
println(3.5 in 1.0..4.0)
println(50 in 1..100)
}모든 내용 정리하기
범위는 다양한 타입에 일반화해 사용할 수 있습니다:
- 문자 범위는 반복과 검증을 지원합니다
Long범위는 큰 범위를 처리합니다- 비교 가능한 타입과 사용자 정의 타입은 포함 여부를 지원합니다
..은rangeTo의 축약 표현입니다
fun main() {
val vowels = "aeiou"
for (c in 'a'..'z') {
if (c in vowels) print(c)
}
println()
}간단히 확인하기
문자 범위와 사용자 정의 범위에 대한 이해를 확인해 보십시오.
복습
문자 범위와 사용자 정의 범위를 배웠습니다:
- 문자와
Long범위는Int처럼 반복할 수 있습니다 - 비교 가능한 타입은
..을 통해 포함 여부를 지원합니다 - 불연속 타입은
in으로 확인할 수 있지만 반복문으로 순회할 수 없습니다 ..은rangeTo의 축약 표현입니다
이로써 범위와 진행 수열 과정이 끝났습니다.
AI 튜터와 함께 Kotlin을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 51
- 레슨
- 203
자주 묻는 질문
“Char와 사용자 지정 범위” 강의는 무료인가요?
네 — “Char와 사용자 지정 범위” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Kotlin Academy 강의 전체를 잠금 해제할 수 있습니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“Char와 사용자 지정 범위”에서 뭘 배우나요?
정수를 넘어선 범위 브라우저에서 직접 실행하는 실습 코드로 Kotlin Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Kotlin Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Kotlin Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“Char와 사용자 지정 범위” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Kotlin Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Kotlin Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 범위 연산자
- Step과 downTo
- 반복문의 범위
- Char와 사용자 지정 범위