#kotlin
Read more stories on Hashnode
Articles with this tag
안드로이드에서 이벤트(사이드 이펙트)는 주로 channel 또는 sharedFlow를 사용해 처리한다. channel을 이용한 이벤트 처리 예시 코드 private val _effect: Channel<A> = Channel() val effect =...
코루틴이란? 코루틴은 컴퓨터 프로그램 구성 요소 중 하나로 비선점형 멀티태스킹을 수행하는 일반화한 서브루틴이다. 코루틴은 실행을 일시 중단하고 재개할 수 있는 여러 진입 지점을 허용한다. 서브루틴 == 함수 비선점형 멀티태스킹 : 멀티태스킹의 각 작업을 수행하는...
제네릭 타입 파라미터 제네릭 함수와 프로퍼티 리스트를 다루는 함수를 작성한다면 어떤 특정 타입을 저장하는 리스트뿐 아니라 모든 리스트를 다룰 수 있는 함수를 원할 것이다. 이때 제네릭 함수를 작성해야 한다. fun <T> List<T>.slice(indices:...
고차 함수 정의 고차 함수는 다른 함수를 인자로 받거나 함수를 반환하는 함수다. 함수 타입 함수 타입을 정의하려면 함수 파라미터의 타입을 괄호 안에 넣고, 그 뒤에 화살표(->)를 추가한 다음, 함수의 반환 타입을 지정하면 된다. val sum = (Int, Int)...
산술 연산자 오버로딩 이항 산술 연산 오버로딩 data class Point(val x: Int, val y: Int) { operator fun plus(other: Point): Point { return Point(x + other.x, y...
널 가능성 널이 될 수 있는지 여부를 타입 시스템에 추가함으로써 컴파일러가 여러 가지 오류를 컴파일 시 미리 감지해서 실행 시점에 발생할 수 있는 예외의 가능성을 줄일 수 있다. 널이 될 수 있는 타입 널이 될 수 있는 변수에 대한 메소드를 호출하면...