아이템 4. inferred 타입으로 리턴하지 말라
코틀린에서 타입을 추론할 땐 오른쪽에 있는 피연산자에 맞게 타입이 추론된다.
animal이 바로 오른쪽에 있는 피연산자인 Zebra 타입으로 추론되기 때문에 Animal 타입으로 재할당할 경우 컴파일 에러가 발생한다.
일반적인 경우 타입을 명시해서 해결할 수 있다.
하지만 라이브러리나 외부 API처럼 직접 코드를 조작할 수 없는 경우 이런 문제를 쉽게 해결할 수 없다. 따라서 리턴 타입은 외부에서 확인할 수 있게 명시적으로 지정하는 것이 좋다.
정리
타입을 확실하게 지정해야 하는 경우 명시적으로 지정한다.
외부 API를 만들 때는 반드시 타입을 지정한다.
Last updated