코틀린 문법 정리

변수 선언 (Variable)

코틀린의 변수 선언은 val(불변)과 var(가변) 두 가지로 구분된다.

val name = "재은"      // 변경 불가능 (immutable)
var age = 28           // 변경 가능 (mutable)
age = 29               // 가능
  • val: 한 번 초기화하면 다시 변경할 수 없음
  • var: 값 변경 가능
  • 타입은 자동 추론되지만, 명시적으로 지정할 수도 있다.
val number: Int = 10
var message: String = "Hello Kotlin"

자료형 (Data Types)

기본 자료형은 다음과 같다:

타입예시설명
Int10정수형
Double3.14실수형
Booleantrue/false논리형
Char‘A’문자형
String“Hello”문자열

문자열은 템플릿을 지원해 가독성이 좋다.

val name = "재은"
println("안녕하세요, $name님!") // 안녕하세요, 재은님!

조건문 (If, When)

If문

val score = 85
val grade = if (score >= 90) "A"
            else if (score >= 80) "B"
            else "C"
println(grade)

if 자체가 **표현식(expression)**으로, 값을 반환할 수 있다.

When문 (Switch 대체)

val day = 3
val result = when(day) {
    1 -> "월요일"
    2 -> "화요일"
    3 -> "수요일"
    else -> "기타 요일"
}
println(result)

반복문 (Loops)

For문

for (i in 1..5) {
    println(i)
}
  • 1..5는 1부터 5까지 범위
  • downTo, step, until 도 지원
for (i in 10 downTo 1 step 2) {
    println(i)
}

While문

var i = 0
while (i < 3) {
    println(i)
    i++
}

함수 (Functions)

코틀린 함수는 fun 키워드로 정의한다.

fun add(a: Int, b: Int): Int {
    return a + b
}

단일 표현식일 경우 간략하게 작성 가능하다.

fun add(a: Int, b: Int) = a + b

기본값 매개변수도 지원한다.

fun greet(name: String = "Guest") {
    println("Hello, $name")
}

클래스 (Class)

class Person(val name: String, var age: Int)

val person = Person("재은", 28)
println(person.name)

초기화 블록

class User(val name: String) {
    init {
        println("User created: $name")
    }
}

널 안전성 (Null Safety)

코틀린의 핵심 장점 중 하나는 널(null) 안정성이다.

var name: String? = null   // ?를 붙이면 null 허용
println(name?.length)      // null일 경우 null 반환

?: 엘비스 연산자를 사용해 기본값을 지정할 수도 있다.

val length = name?.length ?: 0

컬렉션 (Collections)

val list = listOf("사과", "바나나", "체리")   // 불변 리스트
val mutableList = mutableListOf("A", "B")    // 변경 가능 리스트

mutableList.add("C")

맵과 셋도 간단하게 선언 가능하다.

val map = mapOf("name" to "재은", "age" to 28)
println(map["name"])

람다 표현식 (Lambda)

val add = { a: Int, b: Int -> a + b }
println(add(3, 5))

컬렉션과 함께 자주 사용된다.

val numbers = listOf(1, 2, 3, 4)
val doubled = numbers.map { it * 2 }
println(doubled)


게시됨

카테고리

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다