코틀린(Kotlin)은 안드로이드 앱 개발에 최적화된 현대적인 프로그래밍 언어입니다. 이 글에서는 조건문과 반복문이라는 두 가지 기본적인 프로그래밍 개념을 살펴보겠습니다. 이 두 가지는 프로그래밍의 핵심 역량을 구축하는 데 필수적입니다. 따라서 이들을 이해하는 것은 안드로이드 앱 개발자로서 중요한 첫걸음이 될 것입니다.
1. 조건문(Conditional Statements)
조건문은 프로그램의 흐름을 제어하는 데 사용됩니다. 코틀린에서는 다양한 조건문을 제공하며 그중 가장 일반적인 것은 if
문과 when
문입니다.
1.1 IF 문
if
문은 주어진 조건이 참인지 거짓인지에 따라 다른 코드를 실행할 수 있도록 합니다. 기본적인 문법은 다음과 같습니다:
if (condition) {
// 조건이 참일 때 실행할 코드
} else {
// 조건이 거짓일 때 실행할 코드
}
예를 들어, 사용자의 나이에 따라서 적절한 메시지를 출력하는 코드를 작성해보겠습니다:
fun checkAge(age: Int) {
if (age < 18) {
println("미성년자입니다.")
} else {
println("성인입니다.")
}
}
fun main() {
checkAge(16) // 출력: 미성년자입니다.
checkAge(20) // 출력: 성인입니다.
}
1.2 WHEN 문
코틀린의 when
문은 switch
문과 비슷하게 여러 조건을 다룰 수 있는 강력한 구문입니다. 기본 구문은 다음과 같습니다:
when (value) {
condition1 -> // condition1이 참일 때 실행할 코드
condition2 -> // condition2가 참일 때 실행할 코드
else -> // 어느 조건도 만족하지 않을 때 실행할 코드
}
이제 when
문을 사용하여 계절에 따른 메시지를 출력하는 예를 들어보겠습니다:
fun checkSeason(season: String) {
when (season.toLowerCase()) {
"spring" -> println("봄입니다.")
"summer" -> println("여름입니다.")
"fall", "autumn" -> println("가을입니다.")
"winter" -> println("겨울입니다.")
else -> println("잘못된 계절입니다.")
}
}
fun main() {
checkSeason("spring") // 출력: 봄입니다.
checkSeason("WInter") // 출력: 겨울입니다.
checkSeason("holiday") // 출력: 잘못된 계절입니다.
}
2. 반복문(Loops)
반복문은 특정 코드 블록을 반복해서 실행할 수 있도록 하는 구조입니다. 코틀린에는 주로 for
, while
, do while
반복문이 있습니다.
2.1 FOR 문
for
문은 특정 범위나 컬렉션의 요소를 순회하며 반복할 때 사용됩니다. 기본 문법은 다음과 같습니다:
for (item in collection) {
// 반복할 코드
}
아래 예제는 1부터 10까지의 숫자를 반복하며 출력하는 방법을 보여줍니다:
fun printNumbers() {
for (i in 1..10) {
println(i)
}
}
fun main() {
printNumbers()
}
2.2 WHILE 문
코틀린의 while
문은 조건이 참인 동안 계속해서 반복을 수행합니다. 문법은 다음과 같습니다:
while (condition) {
// 반복할 코드
}
아래 예제는 1부터 10까지의 숫자를 출력하는 방법을 보여줍니다:
fun printNumbers() {
var i = 1
while (i <= 10) {
println(i)
i++ // i를 증가시켜 종료 조건을 변경
}
}
fun main() {
printNumbers()
}
2.3 DO WHILE 문
do while
문은 코드 블록을 최소 한 번 실행한 후 조건을 검사합니다. 기본 문법은 다음과 같습니다:
do {
// 반복할 코드
} while (condition)
아래 예제는 1부터 10까지의 숫자를 출력하는 방법을 보여줍니다:
fun printNumbers() {
var i = 1
do {
println(i)
i++
} while (i <= 10)
}
fun main() {
printNumbers()
}
3. 조건문과 반복문 활용 예제
이제 조건문과 반복문을 조합하여 좀 더 복잡한 문제를 해결해 보겠습니다. 아래 예제는 사용자가 입력한 숫자가 소수인지 여부를 판단하고, 그 소수를 기준으로 특정 범위내의 소수를 출력하는 프로그램을 작성할 것입니다:
fun isPrime(num: Int): Boolean {
if (num <= 1) return false
for (i in 2 until num) {
if (num % i == 0) return false
}
return true
}
fun printPrimesInRange(range: IntRange) {
for (i in range) {
if (isPrime(i)) {
println(i)
}
}
}
fun main() {
println("범위를 입력하세요 (예: 1 100): ")
val rangeStart = readLine()?.toIntOrNull() ?: return
val rangeEnd = readLine()?.toIntOrNull() ?: return
printPrimesInRange(rangeStart..rangeEnd)
}
4. 결론
이번 글에서는 코틀린의 조건문과 반복문에 대해 자세히 살펴보았습니다. 조건문과 반복문은 프로그래밍의 기본적인 개념으로, 다양한 문제를 해결하는 데 유용합니다. 이러한 개념들을 바탕으로 더 복잡한 로직을 작성할 수 있으며, 앱 개발에 큰 도움이 됩니다. 앞으로 조건문, 반복문을 지속적으로 연습하면서 다양한 문제를 해결해 나가길 바랍니다.