본문 바로가기

Android.Kotlin9

[Android] Context 는 무엇이고 우리는 왜 사용하는가? 안드로이드 개발자라면 Context라는 건 많이 들어보았을 것이다. 하지만 정확히 Context 가 무엇인지는 잘 알지 못한다. Context가 무엇이고 어떨 떄 사용하는지 한번 알아보자 Context 란? 안드로이드에서 사용되는 Context 는 어디에서 온 것일까? Context는 안드로이드의 메인 프레임워크인 Android.jar 에 존재한다. 그럼 안드로이드 프레임워크는 무엇인가? 안드로이드 프레임워크는 안드로이드에서 동작하는 메인 애플리케이션이며 개발자가 만드는 애플리케이션은 그 메인 애플리케이션에서 동작하는 하나의 이벤트 핸들러이다. 미니 애플리케이션 (개발자가 만든 앱) 을 다운로드할 수 있는 메뉴를 가진 슈퍼 애플리케이션 (안드로이드 프레임워크) 이 있다고 생각하면 쉽게 이해된다. 안드로이.. 2023. 11. 1.
[Kotlin] extension 함수의 이해 코틀린에서 extension 함수는 기존에 존재하는 클래스의 변형 없이 새로운 함수를 추가할 수 있도록 해준다. 이 것은 기존에 정의되어 있지 않더라도 정의되어 있는 것처럼 사용 할 수 있도록 하여 좀 더 코틀린을 유연하게 사용할 수 있도록 도와준다. 예를 들어 우리가 컨트롤 할 수 없는 3rd party library의 클래스에 필요한 메서드를 추가할 수 있다. 장점 클래스 소스파일의 수정 없이 함수를 추가할 수 있다. 소스 코드가 없는 경우 매우 유용하게 사용될 수 있다. 관련된 함수를 하나의 클래스나 오브젝트로 그룹핑 할 수 있어 가독성 있고 이해하기 쉬운 코드를 작성할 수 있게 해 준다. 코드의 중복을 줄여서 유지보수에 유용하다. 단점 많은 장점에도 불구하고 extension 도 몇 가지 단점이 .. 2023. 10. 31.
[Kotlin] Channel, ReceiveChannel, Pipeline Kotlin Channel 은 둘 이상의 코루틴 간의 동시성 통신을 가능하게 하는 강력한 구조입니다. Channel 은 서로를 간섭하지 않고 데이터를 공유하고 함께 작업할 수 있도록 합니다. Kotlin의 Channel에 대해서 알아보고 사용하는 팁과 예시를 알아보고 Channel을 이용하여 Pipeline을 어떻게 효율적으로 사용하는지 알아보겠습니다. Channel 은 무엇인가? Channel 은 한 코루틴에서 다른 코루틴으로 데이터가 흐를 수 있도록 파이프라인을 연결합니다. 본질적으로 코루틴의 메세지를 보내고 받을 수 있는 버퍼 또는 큐 입니다. 한 코루틴은 Channel에 데이터를 전송할 수 있고, 다른 코루틴 Channel을 통해 해당 데이터를 검색하고 받을 수 있습니다. 이는 코루틴을 위한 pu.. 2023. 10. 20.
[Kotlin] 범위 지정 함수(scope function) 란? apply, run, let, with, also Kotlin에서 말하는 범위 지정 함수는 특정 객체 (수신 객체)에 대한 작업을 블록 안에서 실행할 수 있도록 하는 함수입니다. 블록은 해당 작업의 범위를 지정하기에 범위 지정 함수라고 부릅니다. 범위 지정 함수를 사용하게 되면 코드의 가독성이 증가하고 유지보수에 유리한 면이 생깁니다. 그럼 범위 지정 함수의 구성 요소 및 종류에 대해 알아보도록 하겠습니다. 구성요성 범위 지정 함수의 구성 요소는 아래 2가지가 있습니다. 수신 객체 수신 객체 지정 람다 수신 객체는 범위 지정 함수에서 작업을 수행하는 타깃 객체입니다. 그리고 수신 객체 지정 람다는 해당 수신 객체로 수행하게 될 블록의 함수를 말합니다. 범위 지정 함수에는 apply, run, let, with, also 등 5가지가 존재하는데 이 5가지.. 2023. 9. 19.
반응형