Language/Kotlin
💡 범위 지정 함수란? (= Scope Function) 범위 지정 함수는 특정 범위 블록 내에서는 특정 객체를 this, it을 통해 접근하거나 조작할 수 있는 함수를 말한다. 즉, 범위 지정 함수를 사용하면 임시 Scope가 형성된다. 이렇게 사용하면 뭐가 좋냐? 일단 가독성이 증가하여 유지보수가 쉽고, 불필요한 변수 선언을 방지할 수 있다. Kotlin에서는 범위 지정 함수 5가지(let, apply, with, also, run)를 제공하고 있다. 이 함수들은 수신 객체를 어떻게 전달하는지, 반환 값이 무엇인 지에 따라 차이점이 있다. 💡 Type 1 : let 함수 fun T.let(block : (T) -> R) : R let은 수신 객체를 람다의 Parameter로 전달하기 때문에 'it'을..
💡 개요 코드를 작성하다 보면 NullPointerException(NPE)를 자주 접할 수 있다. 이 예외는 Null 값을 참조하는 경우에 발생하는 예외이다. 생각보다 NPE는 자주 발생하며 코드가 길어질수록 그 원인을 파악하기 힘든 경우가 많다. 그래서 Kotlin에서는 Null에 대한 처리를 명확하게 하여 NPE의 발생빈도를 낮추고자 했다. 오늘은 Kotlin에서 Null을 어떻게 다루는지에 대해 알아보고자 한다. 💡 Type 1 : '?' 연산자 코틀린에서는 기본적으로 Null 값을 허용하지 않는다. 대신 '?'를 붙여 Null이 올 수도 있는 변수임을 명시적으로 표현할 수 있다. 아래와 같이 '?'연사자를 사용하지 않은 변수 a의 경우 Null 값을 넣으면 Error가 발생한다. 하지만 '?' ..
💡 개요 Kotlin은 Java와 호환이 가능하다. 그렇기 때문에 Java에서 사용하던 반복문을 그대로 사용할 수 있다. 하지만 Kotlin에서만 사용되는 방법이 따로 있기 때문에 오늘은 Kotlin에서 반복문 사용법에 대해 알아보고자 한다. 💡 in을 이용한 반복문 Kotlin에서는 in을 이용해 다양하게 반복문을 사용할 수 있다. [Example 1] val list = arrayOf(1, 2, 3, 4, 5) for(i in list){ println(i) } [Example 2] for(i in 1..5){ println(i) } [Example 3] for(i in 0..10 step 2){ println(i) } [Example 4] downTo의 경우 감소하는 반복문을 구현할 때 사용할 수 ..
💡 개요 Kotlin을 처음 접하다 보면 var, val를 통해 변수를 선언하는 것을 볼 수 있다. 처음 Kotlin을 사용하면 이 2개가 항상 헷갈리는데 나 역시 그랬기 때문에 var와 val의 차이에 대해 정리해보려 한다. 💡 var (variable)란? var은 우리가 흔히 사용하는 변수의 형태라고 생각할 수 있다. 한 번 선언한 이후에도 값을 수정할 수 있고, 마음대로 조작할 수 있다. 즉, 아래 코드와 같이 사용해도 아무 문제가 발생하지 않는 것이 var로 선언한 변수이다. 단, Type을 지정했다면 그에 맞게 값을 할당해야 한다. 그렇지 않으면 에러가 발생할 수 있다. var num: Int = 1 num = 2 💡 val (value)란? val은 Java에서의 final과 비슷하다고 생각..