목록Kotlin (2)
Wook No.1
객체를 사용할 때 Scope(범위, 영역) 생성하여 속성이나 함수를 처리하는 용도로 사용되는 함수 https://kotlinlang.org/docs/scope-functions.html#takeif-and-takeunless Scope functions | Kotlin kotlinlang.org 1. let T의 확장함수이기 때문에 non-null 일 때에만 실행할 수 있다. let 함수를 사용하면 객체의 상태를 변경할 수 있다. fun T.let(block: (T) -> R): R Person("Alice", 20, "Amsterdam").let { println(it) it.moveTo("London") it.incrementAge() println(it) } 2. with fun with(recei..
코루틴(Coroutine) 이란 서브 루틴을 일시 정지하고 재개할 수 있는 프로그래밍 Thread와 차이점 Thread OS의 Native Thread에 직접 링크되어 동작하여 많은 시스템 자원을 사용한다. Thread간 전환 시에도 CPU의 상태 체크가 필요하므로 그만큼의 비용이 발생한다 Thread 코루틴은 즉시 실행하는 게 아니며, Thread와 다르게 OS의 영향을 받지 않아 그만큼 비용이 들어가지 않는다. 코루틴 전환시 Context Switch가 일어나지 않는다. 개발자가 직접 루틴을 언제 실행할지, 언제 종료할지 모두 지정이 가능하다. 이렇게 생성한 루틴은 작업 전환 시에 시스템의 영향을 받지 않아 그에 따른 비용이 발생하지 않는다.