목록Kotlin (46)
밤빵's 개발일지

코틀린에서 제공하는 대표적인 null 처리 방법으로 Safe Call(?.), Elvis 연산자(?:), 그리고 Not-null Assertion(!!)이 있다. 오늘 개발일지에서는 이 세 가지 null 처리 방법의 구체적인 예시와 함께 차이점을 어제 작성한 개발일지 내용보다 조금 더 자세하게 정리해봤다. ▶Safe Call 연산자(?.)Safe Call 연산자 '?.'는 null일 가능성이 있는 객체에서 메서드나 프로퍼티에 접근할 때 사용하는 연산자이다. 객체가 null이 아니면 해당 메서드를 호출하거나 프로퍼티에 접근하고, 객체가 null이면 그냥 null을 반환한다. 이를 통해 null 체크를 간단하게 할 수 있다.var name: String? = "Kotlin"val length = name?..

NPE(NullPointerException)라는 에러는 변수나 객체가 null인 상태에서 메서드를 호출하거나 접근하려고 할 때 발생하는 대표적인 런타임 에러 중 하나다. 자바에서는 null 값을 허용하는 변수와 그렇지 않은 변수를 구분하지 않기 때문에 이 에러를 방지하기 위해 별도의 null 체크를 해야 한다.하지만 코틀린에서는 이러한 문제를 미리 방지할 수 있는 null 안전성 기능을 제공한다. ▶자바에서의 NPE 문제자바에서는 변수에 null 값을 할당하는 것이 기본적으로 허용된다. 따라서 null이 할당된 변수를 사용할 때 메서드를 호출하거나 필드에 접근하면 NullPointerException이 발생하게 된다.String name = null;System.out.println(name.leng..

자바를 공부하다가 코틀린이라는 언어를 처음 접하게 되면서 두 언어의 문법적인 차이점이 많이 보였다. 그 중에서도 변수 선언 방식이 코틀린과 자바 사이에서 가장 큰 차이 중 하나로 느껴졌다. 코틀린은 자바보다 더 간결하고 명확하게 변수를 선언할 수 있는 장점을 가지고 있고, 이러한 차이를 이해하면 코틀린의 효율성을 극대화할 수 있다. ▶자바의 변수 선언 방식자바에서 변수를 선언할 때는 타입을 명시적으로 지정해 주어야 한다. 자바는 강타입 언어이므로, 변수를 선언할 때 그 변수에 저장될 데이터의 타입을 명시해야 하고, 이후에는 해당 타입의 값만 저장할 수 있다.int age = 25; // 정수형 변수 선언String name = "John"; // 문자열 변수 선언boolean ..

▶var과 val의 차이var과 val은 코틀린에서 변수를 선언할 때 사용하는 두 가지 키워드이다. 이들은 모두 변수를 선언하는 데 사용되지만, 값의 변경 가능 여부에 따라 다르게 동작한다. → var:변수에 저장된 값을 변경할 수 있는 가변(mutable) 변수이다.→ val:변수에 저장된 값을 변경할 수 없는 불변(immutable) 변수이다. 자바에서는 변수를 선언할 때 기본적으로 값을 변경할 수 있지만, final 키워드를 사용하여 변수의 값을 한 번만 할당하고 변경하지 못하게 할 수 있다. 코틀린에서는 이 개념을 좀 더 명확하게 구분하기 위해 var과 val을 제공한다. 자바와 비교하자면, 'var'는 일반 변수, 'val'은 final 키워드가 적용된 변수라고 볼 수 있다. ▶varvar 키워..

코루틴의 핵심은 비동기성이다. 비동기 프로그래밍을 통해 여러 작업을 병렬적으로 처리할 수 있는데, 코루틴을 사용하면 복잡한 비동기 처리를 간결하게 구현할 수 있다. 코루틴은 작업이 완료될 때까지 기다리지 않고 다음 작업을 수행할 수 있는 비동기 실행 구조를 제공한다. 비동기성은 주로 I/O 바운드 작업(파일 읽기/쓰기, 네트워크 요청 등)에서 활용된다. 예를 들어, 데이터베이스에서 데이터를 조회하는 작업을 실행할 때, 일반적인 동기 방식에서는 데이터를 모두 조회할 때까지 기다린 후 다음 작업으로 넘어가야 한다. 반면, 코루틴의 비동기성 덕분에 다른 작업을 수행하면서도 데이터 조회가 끝나는 시점에 결과를 받아와 활용할 수 있다. ▶ 코루틴의 비동기성 작동 방식→ 중단과 재개:코루틴의 suspend 함수는 ..

자바를 공부하면서 비동기 처리와 멀티스레딩의 중요성을 알게됐다. 자바에서는 비동기 처리를 위해 CompletableFuture나 ExecutorService와 같은 기능을 주로 사용하지만, 코드가 복잡해지고 관리하기 어렵다. 코틀린에서는 코루틴(Coroutine)이라는 기능을 제공하여 비동기 작업을 쉽게 처리할 수 있다고 한다. 코틀린의 코루틴은 비동기 프로그래밍을 훨씬 간단하고 직관적으로 구현할 수 있게 돕는 핵심 기능이다. ▶코루틴이란?코루틴은 경량 스레드라고도 불리고, 자바의 멀티스레드와 달리 스레드 대신 실행 단위를 더 작고 가볍게 나누어 비동기 작업을 처리할 수 있는 방식이다. 코루틴은 필요할 때만 CPU 리소스를 사용하고, 코드의 흐름을 중단하거나 재개할 수 있어 비동기 작업을 쉽게 처리할 수..