기본 타입
Kotlin의 모든 변수와 데이터 구조는 타입을 가집니다. 타입은 컴파일러에게 해당 변수 또는 데이터 구조로 무엇을 할 수 있는지 알려주기 때문에 중요합니다. 다시 말해, 어떤 함수와 프로퍼티를 가지고 있는지를 알려줍니다.
지난 장에서, Kotlin은 이전 예제에서 customers
가 Int
타입임을 알 수 있었습니다. Kotlin의 타입을 추론하는 능력은 타입 추론이라고 합니다. customers
에는 정수 값이 할당됩니다. 이를 통해 Kotlin은 customers
가 숫자 타입 Int
를 가짐을 추론합니다. 결과적으로 컴파일러는 customers
로 산술 연산을 수행할 수 있음을 압니다:
kotlin
fun main() {
var customers = 10
// 일부 고객이 줄을 떠납니다
customers = 8
customers = customers + 3 // 덧셈 예시: 11
customers += 7 // 덧셈 예시: 18
customers -= 3 // 뺄셈 예시: 15
customers *= 2 // 곱셈 예시: 30
customers /= 3 // 나눗셈 예시: 10
println(customers) // 10
}
+=
,-=
,*=
,/=
,%=
는 증감 할당 연산자입니다. 자세한 내용은 증감 할당을 참조하세요.
총체적으로 Kotlin은 다음의 기본 타입을 가집니다:
카테고리 | 기본 타입 | 예시 코드 |
---|---|---|
정수 | Byte , Short , Int , Long | val year: Int = 2020 |
부호 없는 정수 | UByte , UShort , UInt , ULong | val score: UInt = 100u |
부동 소수점 숫자 | Float , Double | val currentTemp: Float = 24.5f , val price: Double = 19.99 |
불리언 | Boolean | val isEnabled: Boolean = true |
문자 | Char | val separator: Char = ',' |
문자열 | String | val message: String = "Hello, world!" |
기본 타입 및 해당 프로퍼티에 대한 자세한 내용은 기본 타입을 참조하세요.
이 지식을 바탕으로 변수를 선언하고 나중에 초기화할 수 있습니다. 변수가 처음 읽히기 전에 초기화되기만 하면 Kotlin이 이를 관리할 수 있습니다.
변수를 초기화하지 않고 선언하려면 변수 타입을 :
으로 명시합니다. 예를 들어:
kotlin
fun main() {
// 초기화 없이 선언된 변수
val d: Int
// 초기화된 변수
d = 3
// 명시적으로 타입이 지정되고 초기화된 변수
val e: String = "hello"
// 변수들은 초기화되었으므로 읽을 수 있습니다.
println(d) // 3
println(e) // hello
}
변수가 읽히기 전에 초기화하지 않으면 오류가 발생합니다:
kotlin
fun main() {
// 초기화 없이 선언된 변수
val d: Int
// 오류 발생
println(d)
// 변수 'd'는 초기화되어야 합니다
}
이제 기본 타입을 선언하는 방법을 알았으니, 컬렉션에 대해 배울 시간입니다.
실습
연습
각 변수에 올바른 타입을 명시적으로 선언하세요:
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 = '
'
}