3.6.2 한계(Limitations)

3.6.2 한계(Limitations)

타입 추론은 지역 변수로 작업할 때 수동 타입 힌트를 줄여 주지만, 때로는 타입 시스템이 여전히 안내가 필요해요. 변수(variable)속성(property) 필드의 타입을 직접 초기화가 없으면 추론하려 하지 않습니다.

재귀(recursion)가 관련된 경우에도 타입 추론의 한계가 있어요. 함수가 자신의 타입이 아직 완전히 알려지지 않았을 때 재귀적으로 자신을 호출한다면, 타입 추론이 잘못되고 지나치게 특수화된 타입을 추론할 수 있어요.

또 하나 고려할 것은 코드 가독성입니다. 타입 추론을 과도하게 쓰면 보이는 타입이 부족해 프로그램의 일부를 이해하기 어려워질 수 있어요. 특히 메서드 시그니처의 경우 그렇습니다. 타입 추론과 명시적 타입 힌트 사이의 좋은 균형을 찾는 것이 권장됩니다.

출처: Limitations

본문

추론하지 않는 경우

직접 초기화가 없는 변수/속성 필드의 타입은 추론되지 않아요. 명시적 타입이 필요합니다.

재귀에서의 한계

함수가 자신의 타입이 미완성일 때 재귀 호출하면, 지나치게 특수화된 잘못된 타입을 추론할 수 있어요.

가독성

타입 추론을 과도하게 쓰면 타입이 보이지 않아 가독성이 떨어져요. 특히 메서드 시그니처에서 그렇습니다. 추론과 명시적 힌트의 균형을 맞추는 게 좋아요.

더 알아보기