Kotlin은 대표적인 JVM 언어 중 하나로, 간결하고 효율적인 문법으로 인해 많은 개발자들에게 인기를 끌고 있습니다. 이번에는 Kotlin의 기본 문법에 대해서 알아보도록 하겠습니다.
Kotlin에서 변수를 선언할 때에는 var 혹은 val 키워드를 사용합니다. var는 변수를 선언할 때 사용하며, 값을 변경할 수 있습니다. 반면, val은 변수를 선언할 때 사용하며, 값을 변경할 수 없습니다. 이를 상수라고 합니다.
var name: String = "Kotlin"
val version: Double = 1.5
Kotlin에서는 if-else 문을 사용하여 조건문을 표현합니다. 다음은 if-else 문의 예시입니다.
val score = 85
if (score >= 90) {
println("A")
} else if (score >= 80) {
println("B")
} else if (score >= 70) {
println("C")
} else {
println("F")
}
Kotlin에서는 for, while 문을 사용하여 반복문을 표현합니다. 다음은 for문과 while문의 예시입니다.
val numbers = listOf(1, 2, 3, 4, 5)
for (number in numbers) {
println(number)
}
var i = 0
while (i < 5) {
println(i)
i++
}
Kotlin에서 함수를 정의할 때에는 fun 키워드를 사용합니다. 함수는 인자를 받을 수 있으며, 반환값을 가질 수도 있습니다.
fun sum(a: Int, b: Int): Int {
return a + b
}
println(sum(1, 2))
Kotlin에서는 클래스와 객체를 정의할 때 class 키워드를 사용합니다. 객체는 클래스의 인스턴스를 의미합니다. 다음은 클래스와 객체를 정의하는 예시입니다.
class Person(val name: String, var age: Int) {
fun introduce() {
println("제 이름은 $name이고, $age살입니다.")
}
}
val person = Person("Tom", 30)
person.introduce()
Kotlin에서는 Null Pointer Exception을 방지하기 위해 Nullable 타입을 사용할 수 있습니다. 이를 위해서는 변수의 타입 뒤에 물음표(?)를 붙여주면 됩니다.
var name: String? = null
위 코드에서는 name 변수가 Nullable 타입으로 선언되어 있으므로, null 값을 가질 수 있습니다. 이를 사용할 때에는 안전 호출 연산자(?.)를 사용하여 null 값을 처리해야 합니다.
Kotlin에서는 클래스를 상속받지 않고도 해당 클래스의 함수를 확장할 수 있습니다. 이를 확장 함수라고 합니다. 다음은 String 클래스에 확장 함수를 추가하는 예시입니다.
fun String.addHello(): String {
return "Hello, $this"
}
val name = "Kotlin"
println(name.addHello()) // 출력 결과: "Hello, Kotlin"
위 코드에서는 String 클래스에 addHello() 함수를 추가하였습니다. 이 함수는 해당 문자열 앞에 "Hello, "를 추가한 문자열을 반환합니다.
Kotlin에서는 객체 분해 선언을 사용하여 객체의 속성을 변수에 할당할 수 있습니다. 다음은 객체 분해 선언을 사용하는 예시입니다.
data class Person(val name: String, val age: Int)
val person = Person("Tom", 30)
val (name, age) = person
println(name) // 출력 결과: "Tom"
println(age) // 출력 결과: 30
위 코드에서는 Person 클래스의 객체를 생성한 후, 객체 분해 선언을 사용하여 해당 객체의 속성을 name과 age 변수에 할당하였습니다.
Kotlin에서 람다 표현식은 중괄호({}) 대신 화살표(->)를 사용하여 표현합니다. 이를 사용하여 익명 함수를 생성할 수 있습니다. 다음은 리스트에서 짝수만을 필터링하여 evenNumbers 변수에 저장하는 예시입니다.
val numbers = listOf(1, 2, 3, 4, 5)
val evenNumbers = numbers.filter { number ->
number % 2 == 0
}
println(evenNumbers) // 출력 결과: [2, 4]
위 코드에서는 filter 함수의 인자로 람다 표현식을 사용하여, 리스트의 각 요소를 순회하면서 조건식을 검사합니다. 이 때, 각 요소를 나타내는 변수 이름은 number로 지정하였습니다. 조건식은 number % 2 == 0으로, number가 짝수인 경우 true를 반환합니다. 이를 통해 filter 함수는 짝수만을 추출하여 evenNumbers 변수에 저장합니다.
이상으로 Kotlin의 기본 문법에 대해서 알아보았습니다. Kotlin은 Java와 호환성이 좋으며, 간결하고 효율적인 문법으로 인해 많은 개발자들에게 인기를 끌고 있습니다. Kotlin으로 개발을 시작하신다면, 이번 글이 도움이 되셨기를 바랍니다.