코틀린은 정적 타입 언어이다.

정적 타입이라는 것은 컴파일 시점에 변수의 타입이 결정되어있는 것을 말한다.

코틀린은 정적 타입 언어이지만, 타입추론을 지원하기 때문에 타입을 명시하지 않고도 사용할 수 있다.

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

+ Recent posts