Skip to content

기본 타입

Kotlin의 모든 변수와 데이터 구조는 타입을 가집니다. 타입은 컴파일러에게 해당 변수 또는 데이터 구조로 무엇을 할 수 있는지 알려주기 때문에 중요합니다. 즉, 어떤 함수와 속성을 가지고 있는지 알려줍니다.

지난 장에서 Kotlin은 이전 예시에서 customersInt 타입을 가진다는 것을 알 수 있었습니다. Kotlin이 타입을 추론하는 능력을 타입 추론이라고 합니다. customers에는 정수 값이 할당됩니다. 이를 통해 Kotlin은 customers가 숫자 타입인 Int를 가진다고 추론합니다. 그 결과, 컴파일러는 customers로 산술 연산을 수행할 수 있음을 알게 됩니다:

kotlin
fun main() {
    var customers = 10

    // Some customers leave the queue
    customers = 8

    customers = customers + 3 // Example of addition: 11
    customers += 7            // Example of addition: 18
    customers -= 3            // Example of subtraction: 15
    customers *= 2            // Example of multiplication: 30
    customers /= 3            // Example of division: 10

    println(customers) // 10
}

TIP

+=, -=, *=, /=, %=는 복합 할당 연산자입니다. 더 자세한 내용은 복합 할당을 참조하세요.

Kotlin에는 다음과 같은 기본 타입이 있습니다:

범주기본 타입예시 코드
정수Byte, Short, Int, Longval year: Int = 2020
부호 없는 정수UByte, UShort, UInt, ULongval score: UInt = 100u
부동 소수점 숫자Float, Doubleval currentTemp: Float = 24.5f, val price: Double = 19.99
불리언Booleanval isEnabled: Boolean = true
문자Charval separator: Char = ','
문자열Stringval message: String = "Hello, world!"

기본 타입 및 해당 속성에 대한 자세한 내용은 기본 타입을 참조하세요.

이 지식을 바탕으로 변수를 선언하고 나중에 초기화할 수 있습니다. Kotlin은 변수가 처음 읽히기 전에 초기화되기만 하면 이를 처리할 수 있습니다.

변수를 초기화하지 않고 선언하려면 :를 사용하여 타입을 지정합니다. 예를 들어:

kotlin
fun main() {
    // Variable declared without initialization
    val d: Int
    // Variable initialized
    d = 3

    // Variable explicitly typed and initialized
    val e: String = "hello"

    // Variables can be read because they have been initialized
    println(d) // 3
    println(e) // hello
}

변수를 읽기 전에 초기화하지 않으면 오류가 발생합니다:

kotlin
fun main() {
    // Variable declared without initialization
    val d: Int
    
    // Triggers an error
    println(d)
    // Variable 'd' must be initialized
}

이제 기본 타입을 선언하는 방법을 알았으니, 컬렉션에 대해 알아볼 시간입니다.

연습

연습

각 변수에 올바른 타입을 명시적으로 선언하세요:

|---|---|

kotlin
fun main() {
    val a: Int = 1000 
    val b = "log message"
    val c = 3.14
    val d = 100_000_000_000_000
    val e = false
    val f = '
'
}

|---|---|

kotlin
fun main() {
    val a: Int = 1000
    val b: String = "log message"
    val c: Double = 3.14
    val d: Long = 100_000_000_000_000
    val e: Boolean = false
    val f: Char = '
'
}

다음 단계

컬렉션