1. 코틀린의 타입 추론
val num = 10 // Int
val name = "Marcin" // String
val ids = listOf(12, 112, 554, 997) // List<Int>
- 코틀린은 위처럼 우리가 입력한 값을 보고 자동으로 타입을 결정한다.
2. 타입 추론의 한계
val data = getSomeData()
- 위처럼 타입 유추가 명확하지 않을 때 함수 정의를 확인해야 한다. 즉 가독성이 떨어진다.
- 코드 정의로 쉽게 이동할 수 없는 깃허브 등의 환경에선 반환값 확인이 어렵다.
3. 명시적 타입 선언
val data: UserData = getSomeData()
- 위처럼 명시적으로 타입을 선언하면 코드를 훨씬 쉽게 읽을 수 있다.
- 가독성 향상 외에도 안전을 위해 타입을 지정하는 것이 좋다.
- 참고:
- 아이템 3: 최대한 플랫폼 타입을 사용하지 말라
- 아이템 4: inferred 타입으로 리턴하지 말라
- 그렇다고 타입을 무조건 지정하라는 것은 아님. 상황에 맞게 적절히 사용할 것.
+ 개인적인 의견
val data = getSomeData()