본문 바로가기

Kotlin13

[안드로이드] UI 요소 지연 초기화 1. 개요 코틀린에서 Non-null로 선언된 프로퍼티는 선언과 동시에 초기화해야 한다. 만일 초기화 하지 않으면 'Property must be initialized or be abstract' 라는 에러 메시지가 발생한다. 특정 UI 요소를 여러 콜백 함수에서 사용할 때 지연 초기화를 사용하면 유용하다. 2. 지연 초기화 기법 코틀린에서 지연 초기화를 위한 두 가지 방법을 제공한다. lateinit by lazy 자세한 내용은 공식 사이트를 참고한다. 3. 소스코드 다음은 MainActivity.kt의 일부 소스코드이다. class MainActivity : AppCompatActivity() { private lateinit var displayTextView: TextView // .. 2021. 6. 11.
[Do it! 코틀린 프로그래밍] 11. 코루틴과 동시성 프로그래밍 11. 코루틴과 동시성 프로그래밍 1. 동시성 프로그래밍 프로그램은 작업 수행 방식에 따라 순서대로 작업을 수행하여 1개의 루틴을 완료한 후 다른 루틴을 실행하는 동기적(synchronous) 방식과 여러 개의 루틴이 선행 작업의 순서나 완료 여부와 상관없이 실행되는 비동기적(asynchronous) 방식으로 나뉜다. 코틀린은 비동기 프로그래밍을 위해 코루틴(Coroutine) 을 서드파티가 아닌 기본으로 제공한다. 코루틴을 사용하면 넌블로킹(Non-blocking)또는 비동기 코드를 쉽게 작성할 수 있다. 우선 동시성 프로그래밍에 사용되는 용어를 정리해보도록 한다. NOTE✏️ 서드파티 라이브러리(Third-party Library): 기본으로 제공되는 표준 라이브러리가 아닌 다른 개발자(제 3자)가 .. 2021. 5. 21.
[Do it! 코틀린 프로그래밍] 10. 표준 함수와 입출력 10. 표준 함수와 입출력 1. 코틀린 표준 함수 표준 함수를 이용하면 코드를 더 단순화하고 읽기 쉽게 만들어 준다. 코틀린 표준 함수는 람다식과 고차 함수를 이용해 선언되어 있다. 앞서 클로저에 대해 살펴보고 표준 함수에 대해 알아보도록 한다. 클로저(Closure) 람다식으로 표현된 내부 함수에서 외부 범위에 선언된 변수에 접근할 수 있는 개념을 말한다. 람다식 안에 있는 외부 변수는 값을 유지하기 위해 람다식이 포획(Capture)한 변수라고 부른다. 포획한 변수는 참조가 유지되어 함수가 종료되어도 사라지지 않고 접근하거나 수정할 수 있다. 클로저의 조건 final 변수를 포획한 경우, 변수 값을 람다식과 함께 저장한다. final이 아닌 변수를 포획한 경우, 변수를 특정 래퍼(wrapper)로 감.. 2021. 5. 10.
[Do it! 코틀린 프로그래밍] 9. 컬렉션 9. 컬렉션 1. 컬랙션의 구조와 기본 컬렉션(Collection) 이란 자주 사용하는 기초적인 자료구조를 모아 놓은 일종의 프레임워크로 표준 라이브러리로 제공된다. Link 컬렉션 종류 컬렉션 불변형(읽기 전용) 가변형 List listOf mutableListOf, arrayListOf Set setOf mutableSetOf, hashSetOf, linkedSetOf, sortedSetOf Map mapOf mutableMapOf, hashMapOf, linkedMapOf, sortedMapOf Collection 인터페이스 멤버 멤버 설명 size 컬렉션의 크기를 나타낸다. isEmpty() 컬렉션이 비어 있는 경우 true를 반환한다. contains(element: E) 특정 요소가 있다면 t.. 2021. 5. 1.