예외 처리 CoroutineExceptionHandler ExceptionHandler는 Coroutine내의 코드 실행 중 발생하는 Exception을 처리할 수 있는 Handler이다. CoroutineExceptionHandler는 Coroutine(Job) 내부에서 오류가 발생했을 때, 에러를 처리할 수 있는 CoroutineContext이다. 따라서, CoroutineExceptionHandler를 통해, Exception이 왔을 때, 받은 Exception을 출력해준다. 위의 코드를 아래와 같이 수정하여 Exception을 Handling 할 수 있다. GlobalScope.launch(Dispatchers.IO + handler) { // 1 launch { throw Exception() ..
Coroutine의 구성요소 Coroutine은 3가지 요소로 이루어져있다고 볼 수 있다. CoroutineScope Coroutine을 제어할 수 있는 범위, Coroutine이 활동할 수 있는 범위를 뜻하며, 여기서 제어는 어떤 작업을 취소하거나, 끝날 때까지 기다리는 것을 뜻한다. CoroutineContext Coroutine이 실행된 Context로 Coroutine의 실행 목적에 맞게, 실행될 특정 Thread Pool 지정 Builder Coroutine을 실행하는 함수. 종류로는 위에서 언급한 launch, async등이 있다 CoroutineScope Coroutine의 실행되는 범위로 Coroutine 블록을 묶음으로 제어할 수 있는 단위이다. 모든 Coroutine은 Scope 내에서..
배열 배열의 특징 대표적인 선형 자료구조 가장 기본적인 자료구조 메모리에 연속적으로 데이터를 저장하는 자료구조로, 논리적 저장순서와 = 물리적 저장순서(일치) 탐색 O(1), 삽입/삭제 O(N) → 접근이 용이하며 데이터 삽입및 삭제가 어렵다. → 논리적 저장순서 = 물리적 저장순서이기에, 인덱스로 해당 원소에 접근할 수 있으므로 탐색시 O(1)로 접근 가능하다 ⇒ 즉, Random Access 가 가능하다는 장점이 있다 크기 고정적 Cache locality(정의 링크) 가 좋아 Cache Hit 가능성이 크다. 연결리스트 연결리스트의 특징 배열과 동일한 선형 데이터 자료구조이나, 연속적인 메모리 위치에 저장되지 않는다. (메모리가 불연속적으로 배치된 선형 자료구조) 연결 리스트에서 서로 연결된 원소(..
자료구조의 개념 자료구조란 무엇인가 자료구조란, 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케하는 자료의 조직/관리/저장을 의미한다. 더 정확히는, 자료구조는 (1) 데이터 값의 모임이며, (2) 데이터 간의 관계 (3) 데이터에 적용할 수 있는 함수나 명령을 의미한다. 요약하면, 자료구조는 자료에 효율적으로 접근하고 수정할 수 있도록 데이터를 구성하고 저장하는 방법을 의미하는 것이다. 자료구조의 구분 자료구조는 저장되는 데이터의 형태에 따라 구분할 수 있다. 선형 자료구조 비선형 자료구조 1. 선형 자료구조 데이터가 일렬로 나열되어 있는 것이 특징이다. 종류 (1) Array (2) Linked List (3) Stack (4) Queue (5) Vector 2. 비선형 자료구조 선형 자료구조와 달리..