코틀린은 정적 타입 언어이다.
정적 타입이라는 것은 컴파일 시점에 변수의 타입이 결정되어있는 것을 말한다.
코틀린은 정적 타입 언어이지만, 타입추론을 지원하기 때문에 타입을 명시하지 않고도 사용할 수 있다.
val greet = "hello"
println(greet) // hello
println(greet::class) // class kotlin.String
println(greet.javaClass) // class java.lang.String
greet = 0
- 타입 추론은 컴파일 시간에 변수 초기화 시, 타입을 추론한다.
- greet은 문자열로 초기화가 되어 String타입으로 추론되었다.
- 다른 타입을 할당하면, 컴파일 오류가 난다.
- 애초에 val 이기 때문에 재할당이 불가능한 것도 있다.
greet::class
,greet.javaClass
는 실행시간에 참조된 객체의 타입을 나타낸다.greet::class
는 참조되고 있는 객체의 코틀린 클래스를 나타낸다.greet.javaClass
는 참조되고 있는 객체의 자바 클래스를 나타낸다.
'Programming > 언어' 카테고리의 다른 글
[Kotlin] Collection의 View (0) | 2023.02.13 |
---|---|
[Kotlin] Unit, Any, Nothing 클래스 (0) | 2023.02.12 |
[Kotlin] 표현식과 명령문 (0) | 2023.02.12 |
Java 코드가 실행되는 과정 (0) | 2021.12.26 |
Garbage Collector 찍먹하기 (0) | 2021.12.26 |