[Kotlin] init{} 사용이유 1. 객체 초기화 로직 분리 - 'init' 블록은 클래스 인스턴스가 생성될 때 필요한 초기화 로직을 분리하여 사용하므로서 가독성 높은 방식으로 초기화 로직을 구조화할 수 있다 2. 가족성과 유지보수성 향상 - 초기화 코드를 'init' 블록에 모아두면 가독성이 향상되고, 유지보수가 용이 Kotlin 2023.12.05
[Kotlin] 코루틴 (Coroutine) GlobalScope 프로그램 어디서나 제어, 동작이 가능함 CoroutineScope 특정한 목적의 Dispatcher를 지정하여 제어 및 동작이 가능한 범위 여기서 Dispatchers의 함수 1. Dispatchers.Default 기본적인 백그라운드동작 2. Dispatchers.IO I/O에 최적화 된 동작 3. Dispatchers.Main 메인(UI) 스레드에서 동작 사용 예시) CoroutineScope(Dispatchers.IO).launch{ { 함수 앞에 async 키워드를 붙이면 이 함수는 비동기 함수라는 뜻 결과값을 반환하기 위해선 await키워드를 사용해야지만 값을 반환 받을 수 있음 Kotlin 2023.12.01
[Kotlin] = 단일 표현식 함수 코틀린에서 만일 함수가 하나의 표현식 (Expression)으로 끝나는 경우 단일 표현식 함수로 함수를 축약하여 표현할 수 있다 fun sum(a: Int, b: Int) = a + b Kotlin 2023.12.01
[Kotlin] ?: 연산자 ?: 는 엘비스 연산자(ELvis operator)로 null이 아닌 경우에는 왼쪽 피연산자의 값을 반환하고, null인 경우에는 오른쪽 피연산잔의 값을 반환한며, "널 병합 연산자"라고도 한다 Kotlin 2023.11.29
[Kotlin] .also kotlin 언어에서 사용되는 확장함수, 이 함수는 수신객체를 인자로 받아서 그 객체를 변형하지 않고 반환한다 val myList = mutableListOf(1, 2, 3)val modifiedList = myList.also { // 여기서 it은 myList를 가리킵니다. println("수신 객체: $it") it.add(4)}// myList는 변경되지 않고, modifiedList에는 4가 추가된 새로운 리스트가 반환됩니다.println("원본 리스트: $myList")println("변경된 리스트: $modifiedList") Kotlin 2023.11.22
[Kotlin] synchronized 다중 쓰레드 환경에서의 동기화를 위해 사용된다. 메서드나 블록 앞에 "synochronized" 키워드를 붙이면, 해당 부분은 한 번에 하나의 쓰레드만이 실행 된다 Kotlin 2023.11.22
[Kotlin] suspend kotlin언어에서 사용되는 키워드로, 코루틴 비동기적 기능을 실행할 떄 사용된다 "suspend" 는 일시적으로 작업을 중단하고 나중에 재개할 수 있는 함수를 선언할 때 사용된다 Kotlin 2023.11.22