본문 바로가기
프로그래밍 놀이터/Kotlin, Coroutine

[Effective Kotlin] Item 3 : Eliminate platform types as soon as possible

by 돼지왕 왕돼지 2022. 2. 17.
반응형

이 글은 Effective Java 를 완독하고, Kotlin 을 상용으로 사용하는 개발자 입장에서
Effective Kotlin 글 중 새로운 내용, remind 할 필요 있는 부분, 핵심 내용 등만 추려 정리한 내용입니다.

 

#
Platformtype 은 정보가 부족할 경우 nullable 로 치부하는 것이 안전하다.

 

#
문제는 Java 의 generic type 값을 받을 때 생긴다.

public class UserRepo{
	public List getUsers(){
		// ...
	}
}

List 자체의 nullability 는 물론 list 안의 내용물인 User 의 nullability 도 알 수 없다.

 

#
Platform type 은 String! 과 같이 ! 가 붙어 표시된다.
이는 코드에 쓸 수 있는 것은 아니고, IDE 등에 의해 표시만 될 뿐이다.

 

#
Java 코드에 가급적 nullability annotation 을 마킹하고 지키자.

 

#
@ParametersAreNonnullByDefault annotation 도 있다.
이는 Java 에서 모든 것이 nonnull 을 기본으로 가져간다는 의미이다.

 

 

Summary

#
Platformtype 은 다른 언어에서 nullability 를 알 수 없는 형태로 전달되는 type 을 말한다.
가급적 빨리 그것들을 제거하자. nullability 관련 annotation 을 붙이고, 전파되지 않도록 하자.

 

 

반응형

댓글