📖 개발 공부/kotlin
-
[Kotlin] 범위 지정 함수 apply, let, run, also, with📖 개발 공부/kotlin 2023. 4. 8. 22:26
범위 지정 함수 람다식이 제공된 객체에서 범위 지정 함수를 호출하면 임시 범위(block)가 형성되는데, 이 범위 내에서 객체에 대해 할 작업을 정의할 수 있다. 확장함수는 람다를 인자로 받아 동작하며, 확장함수를 실행하는 주체를 수신자 또는 수신자 객체라고 한다. 특정 객체에 대한 작업을 block 내에 표현하게 되면, 가독성이 증가하게 되고 코드가 더 깔끔해진다는 장점이 있다. 이 함수들은 2가지 구성 요소를 가진다. 수신 객체(receiver): 확장함수를 실행하는 주체 수신 객체 지정 람다(block; lambda with receiver): 범위 지정 함수 함수 간의 차이점 funtion object reference return value is extension function let it L..
-
[Kotlin] const와 val의 차이📖 개발 공부/kotlin 2023. 4. 1. 11:20
언제든 값을 바꿀 수 있는 var과 초기화하면 값을 바꿀 수 없는 val의 2가지 선언 방법이 존재한다. 또한 상수를 선언할 수 있는 const val 라는 선언이 존재한다. 그렇다면 값을 바꿀 수 없는 val 와 상수를 선언하는 const val 의 차이점은 무엇일까? 바로 "불변성"에 관련한 차이점이다. val 은 값이 런타임 시에 결정되는 상수인데, 이는 독립적인 동일한 프로그램 수행 중에 프로그램 수행에 따라 값이 바뀔 수 있음을 의미한다. 예를 들어 두 숫자를 더한 값을 반환하는 함수를 사용해서 val 값을 정한다고 했을 때, 이 값은 함수의 parameter로 들어가는 숫자에 따라 언제든지 달라질 수 있다. 때문에 val 값은 불완전한 불변성을 가지고 있는 것이다. const val 은 값이 ..