관리 메뉴

나만을 위한 블로그

[이펙티브 코틀린] 아이템 14. 변수 타입이 명확하지 않은 경우 확실하게 지정하라 본문

책/Effective Kotlin

[이펙티브 코틀린] 아이템 14. 변수 타입이 명확하지 않은 경우 확실하게 지정하라

참깨빵위에참깨빵_ 2022. 7. 18. 23:37
728x90
반응형

코틀린은 개발자가 타입을 지정하지 않아도 타입을 지정해서 넣어주는 수준 높은 타입 추론 시스템을 갖고 있다.

 

val num = 10
val name = "Marcin"
val ids = listOf(12, 111, 554, 2982)

 

이는 개발 시간을 줄여줄 뿐 아니라 유형이 명확할 때 코드가 짧아지므로 코드 가독성이 크게 향상된다. 하지만 유형이 명확하지 않을 때는 남용하면 좋지 않다.

 

val data = getSomeData()

 

위 코드는 타입을 숨기고 있다. 가독성을 위해 코드를 설계할 때 읽는 사람에게 중요한 정보를 숨겨선 안 된다.

'코드를 읽으면서 함수 정의를 보며 타입을 확인하면 되지 않나?' 라고 생각할 수 있지만 이는 곧 가독성이 떨어진다는 의미다. 또한 코드 정의로 쉽게 이동할 수 없는 깃허브 등의 환경에서 코드를 읽을 수도 있다.

사람도 작업할 때 활용할 수 있는 메모리는 한정적이므로 이런 것에 쓸데없이 메모리를 낭비하는 건 좋지 않다. 아래처럼 타입을 지정하면 코드를 훨씬 쉽게 읽을 수 있다.

 

val data: UserData = getSomeData()

 

가독성 향상 이외에 안전을 위해서도 타입을 지정하는 게 좋다. 타입은 개발자와 컴파일러 모두에게 중요한 정보지만 타입을 무조건 지정하라는 게 아니다. 상황에 맞게 사용하라.

반응형
Comments