코틀린의 변수 선언과 null 안전성 이해하기
코틀린(Kotlin)은 현대 프로그래밍 언어로, 자바와의 호환성 덕분에 안드로이드 개발에서 널리 사용됩니다. 그러므로 코틀린의 기본 개념을 이해하는 것은 중요합니다. 이 글에서는 코틀린의 변수 선언, 데이터 타입, 및 null 안전성(null safety)에 대해 자세히 살펴보겠습니다.

변수 선언의 기본 이해
코틀린에서 변수를 선언할 때는 크게 두 가지 키워드를 사용합니다: val과 var. 각각의 역할은 다음과 같습니다.
- val: 변수의 값을 변경할 수 없는 불변 변수입니다. 자바의
final
과 유사하거나, C언어의const
와 비슷합니다. - var: 값이 가변적인 변수를 정의할 때 사용합니다. 필요한 경우 값의 변경이 가능합니다.
예를 들어, 아래와 같이 변수를 선언할 수 있습니다.
val name: String = "홍길동" // 불변 변수
var age: Int = 25 // 가변 변수
변수의 타입과 타입 추론
코틀린은 정적 타입 언어이지만, 변수의 타입을 선언할 필요가 없는 경우가 많습니다. 이는 코틀린의 타입 추론 기능 덕분입니다. 예를 들어, 변수 선언 시 아래와 같이 타입을 명시하지 않고도 사용할 수 있습니다.
var city = "서울" // 타입은 String으로 자동 추론됨
물론 필요에 따라 타입을 명시적으로 적어줄 수 있습니다.
val salary: Double = 75000.00
null 안전성의 중요성
코틀린에서 가장 주목할 만한 특징 중 하나는 null 안전성입니다. 자바와 달리, 코틀린은 데이터 타입이 null을 허용하는지 여부를 명확히 구분합니다. 기본적으로 모든 변수는 null을 허용하지 않습니다. 만약 null 값을 허용해야 한다면, 타입 뒤에 ?
를 추가해야 합니다.
var nullableString: String? = null // null 허용
var nonNullableString: String = "안녕하세요" // null 불가
이러한 구조는 NullPointerException을 방지하는 데 큰 도움이 됩니다. 예를 들어, 안전한 호출(safe call) 연산자인 ?.
를 사용하면, null인 경우에도 프로그램이 중단되지 않도록 처리할 수 있습니다.
val length = nullableString?.length // nullableString이 null이라면 length는 null이 된다.
코틀린의 기본 문법과 함수 정의하기
코틀린은 간결하고 명확한 문법을 제공합니다. 함수는 fun
키워드를 사용하여 정의하며, 반환 타입을 지정할 수 있습니다.
fun sum(a: Int, b: Int): Int {
return a + b
}
함수를 더 간단히 정의할 수도 있습니다. 다음과 같이 한 줄로 표현할 수 있습니다.
fun multiply(a: Int, b: Int) = a * b

조건문과 반복문 활용하기
코틀린의 조건문은 자바와 유사하지만, 더 간결한 문법을 제공합니다. 기본적인 if
문은 아래와 같이 사용됩니다.
val score = 85
if (score >= 90) {
println("A 학점")
} else if (score >= 80) {
println("B 학점")
} else {
println("C 학점")
}
또한, when
문을 통해 복잡한 조건식을 더 쉽게 처리할 수 있습니다.
when (score) {
in 90..100 -> println("A")
in 80..89 -> println("B")
else -> println("C")
}
루프(반복문)의 활용
코틀린에서는 for
및 while
문을 통해 반복 작업을 수행할 수 있습니다. for
문의 예시는 다음과 같습니다.
for (i in 1..5) {
println(i) // 1부터 5까지 출력
}
그리고 while
문도 사용해서 지속적으로 조건을 확인할 수 있습니다.
var cnt = 0
while (cnt < 5) {
println(cnt)
cnt++
}

결론
코틀린의 변수 선언 및 null 안전성과 같은 기본적인 문법은 매우 직관적이며 이해하기 쉽습니다. 이러한 특성 덕분에 개발자들은 보다 안정적이고 간결한 코드를 작성할 수 있습니다. 앞으로 코틀린을 배우고 활용하면서 이러한 기본 개념들을 꼭 기억하시기 바랍니다. 프로그래밍의 기초를 다지고, 이를 바탕으로 다양한 기능들을 익혀 나가시면 좋은 결과를 얻을 수 있을 것입니다.
자주 묻는 질문 FAQ
코틀린에서 변수를 어떻게 선언하나요?
코틀린에서는 변수를 선언할 때 val과 var 키워드를 사용합니다. val은 불변 변수를, var는 가변 변수를 정의하는 데 쓰입니다.
코틀린의 null 안전성은 무엇인가요?
코틀린에서는 모든 변수의 기본값이 null을 허용하지 않습니다. 만약 null을 지원해야 한다면, 타입 뒤에 ?
를 추가해야 합니다.
함수를 어떻게 정의하나요?
코틀린에서 함수는 fun
키워드를 사용하여 정의하며, 반환값의 타입을 명시할 수 있습니다. 간단하게 한 줄로 표현도 가능합니다.