코틀린의 문맥 감지 이름 해석은 when의 대상이나 선언된 변수 타입처럼 기대 타입이 분명할 때 짧은 이름의 대상을 찾습니다. 예를 들어 Problem 타입을 검사하는 분기에서 Problem.DATABASE 대신 DATABASE를 쓸 수 있습니다.
데모는 기대 타입이 먼저 정해지고 후보 중 맞는 이름이 선택되는 흐름입니다. Kotlin 2.3에서도 실험 기능이므로 컴파일러 옵션이 필요합니다. 같은 이름의 선언이 겹치면 모호성 경고가 날 수 있습니다.
언제 쓰나
enum과 sealed 분기가 길어질 때 읽기 쉽게 줄이되, 이름 충돌은 명시적 이름으로 해결합니다.