[kotlin] 코틀린에서의 타입 추론(Type Inference) in 코틀린

코틀린은 정적 타입 언어이지만 종종 타입을 명시적으로 선언하지 않아도 됩니다. 이것은 코틀린의 타입 추론(Type Inference) 덕분입니다. 타입 추론은 변수 또는 함수의 반환 타입을 명시적으로 선언하지 않아도 컴파일러가 해당 타입을 추론할 수 있도록 하는 기능이며, 코드를 더 간결하고 가독성 높게 만들어줍니다.

변수에서의 타입 추론

val name = "John" // name 변수는 String 타입으로 추론됩니다.
val age = 25 // age 변수는 Int 타입으로 추론됩니다.
val isStudent = true // isStudent 변수는 Boolean 타입으로 추론됩니다.

위의 예시에서는 각 변수의 타입을 명시적으로 선언하지 않았지만, 변수를 초기화할 때의 값으로부터 컴파일러가 타입을 추론할 수 있습니다.

함수에서의 타입 추론

fun add(a: Int, b: Int) = a + b // add 함수의 반환 타입은 Int로 추론됩니다.

함수의 반환 타입 또한 명시적으로 선언하지 않았지만, 함수의 본문을 통해 컴파일러가 반환 타입을 추론할 수 있습니다.

타입 추론은 코드를 간결하게 만들어주고, 실수를 줄여주는 등 여러 가지 장점이 있지만, 가끔 명시적 타입 선언이 코드의 가독성을 높이는 경우도 있으므로 상황에 맞게 적절히 사용하는 것이 중요합니다.