Kotlin

Prototype 패턴💡 클래스에서 인스턴스를 생성하는 대신 인스턴스로부터 다른 인스턴스를 생성종류가 너무 많아 클래스로 정리할 수 없는 경우취급할 오브젝트의 종류가 많아서 소스 파일을 많이 작성해야 하는 경우클래스로부터 인스턴스 생성이 어려운 경우복잡한 과정을 거쳐 만들어지는 것으로 클래스로부터 만들기가 매우 어려운 경우사용자 조작으로 만들어진 인스턴스와 같은 것을 다시 만들고 싶은 경우✅ 현재 만든 인스턴스를 일단 저장해두고 만들고 싶을 때 이를 복사하여 생성프레임워크와 생성하는 인스턴스를 분리하고 싶은 경우인스턴스를 생성하는 프레임워크를 특정 클래스에 의존하지 않게 하고 싶은 경우✅ 미리 원형이 될 인스턴스를 등록해두고, 등록된 인스턴스를 복사하여 생성 Prototype(원형)인스턴스를 복사하여 ..
· 📚 Study
`CoroutineContext` : 코루틴을 실행하는 실행 환경을 설정하고 관리하는 인터페이스Coroutine Context 구성 요소`CoroutineName` : 코루틴 이름 설정`CoroutineDispatcher` : 코루틴을 스레드에 할당해 실행`Job`: 코루틴의 추상체로 코루틴을 조작`CoroutineExceptionHandler` : 코루틴에서 발생한 예외 처리 Coroutine Context 구성Coroutine Context 구성키 - 값 쌍으로 구성 요소를 관리`CoroutineContext` 객체 간의 더하기 연산자(+)를 사용하여 객체를 구성val coroutineContext: CoroutineContext = newSingleThreadContext("MyThread") + ..
`launch` : 작업 실행 후 결과를 반환하지 않음`async` : 코루틴으로부터 결괏값을 수신 → Deferred 객체 반환 async 사용해 결과값 수신하기async 사용해 Deferred 만들기fun CoroutineScope.async( context: CoroutineContext = EmptyCoroutineContext, // CoroutineDispatcher 설정 가능 start: CoroutineStart = CoroutineStart.DEFAULT, // 지연시작 설정 가능 block: suspend CoroutineScope.() -> T): DeferredDeferred코루틴을 추상화한 객체코루틴으로부터 생성된 결과값을 감싸는 기능을 가짐결과값의 타입은 제네릭 타입  a..
· 📚 Study
코루틴 빌더 함수코루틴을 생성하는 데 사용하는 함수 ex) `launch`, `runBlocking`…코루틴을 만들고 코루틴을 추상화한 Job 객체 생성 → Job 객체로 코루틴의 상태를 추적 및 제어 Join을 사용한 코루틴 순차 처리`join()` : 먼저 처리되어야 하는 코루틴의 실행이 완료될 때까지 호출부의 코루틴을 일시 중단하는 함수💡 delay 함수 - `Thread.sleep()` 해당 함수가 실행되는 동안 스레드가 블로킹돼 사용할 수 없음 - `delay()` 해당 함수가 실행되는 동안 스레드는 다른 코루틴이 사용할 수 있음Join 함수 사용해 순차 처리하기fun main() = runBlocking { val updateTokenJob = launch(Dispatchers.IO) ..
점이
'Kotlin' 태그의 글 목록