🟠 Kotlin 치트시트

JVM과 Android 개발을 위한 현대적 언어

기본 문법

변수 선언
var name = "Kotlin"
val age = 25
var isActive = true
val maxSize: Int = 1000
조건문
if (condition) {
    statement
} else if (otherCondition) {
    otherStatement
} else {
    defaultStatement
}
반복문
for (i in 0 until 10) {
    println(i)
}

for (item in items) {
    println(item)
}
함수 정의
fun add(a: Int, b: Int): Int {
    return a + b
}

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

클래스와 객체

클래스
class Person(val name: String, var age: Int) {
    fun greet(): String {
        return "Hello, I'm $name"
    }
    
    fun haveBirthday() {
        age++
    }
}
데이터 클래스
data class User(
    val id: Int,
    val name: String,
    val email: String
)

val user = User(1, "Alice", "alice@example.com")
val (id, name, email) = user // 구조 분해
인터페이스
interface Drawable {
    fun draw()
}

class Circle(private val radius: Double) : Drawable {
    override fun draw() {
        println("Drawing a circle with radius $radius")
    }
}
확장 함수
fun String.isEmail(): Boolean {
    return this.contains("@") && this.contains(".")
}

val email = "user@example.com"
val isValid = email.isEmail()

null 안전성

null 허용 타입
var nullableName: String? = "John"
var nonNullName: String = "Jane"

nullableName = null // OK
// nonNullName = null // 컴파일 에러!
안전한 호출
val length = nullableName?.length
val upperCase = nullableName?.uppercase()
엘비스 연산자
val name = nullableName ?: "Unknown"
val length = nullableName?.length ?: 0
let 함수
nullableName?.let { name ->
    println("Name is $name")
    println("Length is ${name.length}")
}
더 많은 Kotlin 학습 자료

체계적인 학습을 위해 다음 자료들도 확인해보세요