언어/Kotlin
[EffectiveKotlin] 최대한 플랫폼 타입을 사용하지 말라
원석💎-dev
2022. 3. 10. 20:22
반응형
다른 프로그래밍 언어에서 넘어와 nullable 여부를 알 수 없는 타입을 플랫폼 타입(platform type)이라고 부릅니다.
// 자바
public class JavaClass {
public String getValue() {
return null;
}
}
// 코틀린
fun statedType() {
val value: String = JavaClass().value // NPE 발생
.
.
.
println(value.length)
}
fun platformType() {
val value = JavaClass().value
.
.
.
println(value.length) // NPE 발생
}
결론
※ 플랫폼 타입을 사용하는 코드는 해당 부분만 위험할 뿐만 아니라, 이를 활용하는 곳까지 영향을 줄 수 있는 위험한 코드입니다. 그래서 빠르게 해당 코드를 제거하는게 좋습니다.
반응형