코틀린 타입 추론시 잊지 말아야 할점은 inferredType은 정확히 우측에 있는 피연산자에 맞게 타입이 설정된다는 것이다. 추가적으로 코틀린에서 타입 추론은 변수 초기화시 그 타입을 추론한다.
IDE에서부터 에러가 남을 확인 할 수 있다.
일반적으로는, 타입을 명시적으로 지정해주면 문제를 해결할 수 있다.
open class Animal
class Zebra : Animal()
fun main() {
var animal:Animal = Zebra()
animal = Animal()
}
하지만 직접 라이브러리를 조작할 수 없는 경우에는 이러한 문제를 해결할 수 없다. 따라서 API와 같은 외부 사람에게 전달하는 경우에는 리턴 타입은 외부에서 확인할 수 있도록 명시적으로 지정해 주는 것이 좋다.
개인적인 생각