EffectiveKotlin

코틀린/Effective Kotlin

[Effective Kotlin] 3. 안정성 - 최대한 플랫폼 타입을 사용하지 말라

코틀린은 자바를 기반으로 만들어졌기 때문에 자바로 만든 코드들은 코틀린에서도 사용할 수 있게 됩니다. 그러다 보니 그 과정에서 어노테이션으로 nullable이 지정되지 않은 타입 즉 플랫폼 타입들을 쓰게 될 경우 코틀린에서는 매번 널 관련된 검사를 해야 합니다. 그렇지 않는다면 해당 부분을 사용할 때 NPE가 발생할 수도 있는 위험을 감수해야 합니다. 그렇기 때문에 이 책에서는 이러한 nullable이 지정되지 않은 플랫폼 타입을 사용을 자제하라고 말합니다. // 자바 public class UserRepo{ public List getUsers() { //... } } 위처럼 자바의 경우 NotNull 이필수가아닙니다. 자바에는 여러 자료형이 있고 어떤 자료형에서는 null을 허용하기도 하고 막기도 합..

코틀린/Effective Kotlin

[Effective Kotlin] 2. 안정성 - 변수의 스코프를 최소화 하라

변수의 스코프를 최소화시켜야 하는 이유 책에서는 변수의 스코프를 최소화하라고 합니다. 예시를 봐봅시다. fun main(){ val a = 1 val b = 2 val c = 3 fun fizz() { println(a+b) } fun buzz() { println(a+c) } } 이예시에서는 b와 c는 fizz와 buzz에서 밖에 쓰이지 않습니다. 그렇다면 b와 c를 fizz와 buzz안에 넣으면 어떻게 될까요? fun main(){ val a = 1 fun fizz() { val b = 2 println(a+b) } fun buzz() { val c = 3 println(a+c) } } 이렇게 넣게 되면 b나 c라는 변수를 추적하거나 함수의 스코프 밖에서는 해당 변수를 사용할 수 없습니다. 이러한 부..

감자씨앗
'EffectiveKotlin' 태그의 글 목록