코틀린이란?
코틀린은 JetBrains에서 개발한, 자바 가상 머신(JVM) 상에서 동작하는 프로그래밍 언어입니다.
2011년에 처음으로 공개되었으며, 주로 안드로이드 앱 개발에서 사용되고 있습니다.
코틀린은 정적 타입 언어로, 자바와 100% 호환되어 자바 라이브러리를 사용하거나 자바 코드와의 상호 운용이 가능하며 또한, 널 안전성(Null Safety)이나 간결한 문법 등 몇 가지 현대적인 특징들을 지원하고 있습니다.
코틀린은 함수형 프로그래밍과 객체 지향 프로그래밍을 모두 지원하며, 표현력이 뛰어나 코드의 가독성을 높이는 데에 중점을 둔 언어로 평가받고 있고 여러 플랫폼에서 사용될 수 있도록 다양한 타깃을 지원하고 있어서, 서버 측 개발이나 프론트엔드 개발에서도 사용되기 시작했습니다.
그러면 간단한 예시를 통해 코틀린의 다양한 기능을 알아보겠습니다.
1. 변수 및 상수
fun main() {
// 변수
var greeting = "Hello"
println(greeting)
// 상수
val pi = 3.14
println(pi)
}
// Hello
// 3.14
코틀린에서는 'var' 키워드로 변수를 선언하고, 'val' 키워드로 상수를 선언할 수 있습니다.
2. 조건문과 반복문
fun main() {
val number = 10
// if 문
if (number > 5) {
println("Number is greater than 5")
} else {
println("Number is 5 or less")
}
// when 문 (Java의 switch 문과 유사)
when (number) {
1 -> println("One")
2 -> println("Two")
else -> println("Other")
}
// 반복문
for (i in 1..5) {
println(i)
}
}
// Number is greater than 5
// Other
// 1
// 2
// 3
// 4
// 5
조건문에는 if~else문과 when문(java의 switch문과 비슷) 그리고 반복문에는 for문 while문 do~while문 등이 있습니다.
3. 함수 정의
fun addNumbers(a: Int, b: Int): Int {
return a + b
}
fun main() {
val result = addNumbers(5, 3)
println("Sum: $result")
}
// Sum: 8
함수는 fun 키워드로 정의되고, 매개변수와 반환 값의 자료형을 명시할 수 있습니다.
4. 널 안정성
fun main() {
var name: String? = null
// 안전한 호출 연산자
val length = name?.length
// 엘비스 연산자
val greeting = "Hello, ${name ?: "Guest"}"
println(greeting)
}
// Hello, Guest
변수에 널이 가능한 경우, 안전한 호출 연산자(?.)나 엘비스 연산자(?:)를 사용하여 널 체크를 할 수 있습니다.
이외에도 코틀린의 많은 특성이 있지만 뒤에서 차차 알아보겠습니다.
이상 코틀린에 대해서 알아봤습니다.