Kotlin

· Kotlin
필자는 서버나, 외부 DB가 필요한 Android 프로젝트에 Firebase를 사용하고 있다. Firebase sdk의 경우 Java 코드로 구현되어 있으며, callback을 통해 비동기를 지원하는 것이 특징이다. 필자는 이러한 callback을 SuspendCoroutines를 통해 처리하고 있으며, 해당 SuspendCoroutines에 대해 공부한 내용을 포스팅하려고 한다. Callback이란 무엇일까? callback이란 비동기를 구현하기 위한 하나의 방법으로, 어떤 시점에 도달하였거나, 이벤트가 발생하였을 때 실행되는 코드를 의미한다. 가장 쉽게 Android에서 onCreate(), onResume()의 경우 모두 callback 함수라고 볼 수 있다. 이러한 callback을 통해, 특정 ..
· Kotlin
제네릭은 나중에 지정할 타입에 대해 작동하는 코드를 의미한다. 타입을 미리 정해놓지 않았기 때문에, 더 일반적인 코드로 작성할 수 있게 한다. 아래의 예시를 통해 제네릭스를 알아보자 기존에 여러 타입에 대해 작동하는 코드를 작성할 때는 상속을 활용하여 구성할 수 있다. 이는 기반 클래스로부터 파생된 클래스를 활용하는 방법이다. open class Pet class Dog : Pet() class Cat: Pet() private fun eat(pet: Pet){ println("Taste is good") } fun main(){ eat(Dog()) eat(Cat()) } 아래와 같이 Cat과 Dog을 같은 기반 클래스 Pet을 상속받게 함으로써, 여러 타입에 대해 작동하는 코드를 구성할 수있다. 그러나..
· Kotlin
리터럴(Literal)은 고정된 값을 표기하는 방법이다. 각 변수에 정수 1이나, 문자열 "Hello"을 대입할 때와 같이 변하지 않는 데이터를 의미한다. 리터럴은 값을 표기하는 방법이라면, 함수 리터럴은 함수의 본문을 표기하는 방법이다. 함수 리터럴의 정의를 Kotlin Docs에서는 "Function literals are functions that are not declared but are passed immediately as an expression."와 같이 표현한다. 이는 선언되지 않고, '식'처럼 즉시 전달되는 함수라는 의미이다. '식'은 '문'과 다르게, 값을 만들어 내고 다른 변수에 대입이 가능한 대상을 의미한다. Kotlin에서는 함수 리터럴을 구현하기 위해, 람다와 익명함수를 사용..
· Kotlin
Kotlin 표준 라이브러리에서는 Result 클래스를 제공한다. Result는 실행한 동작의 결과를 Result로 감싸서 처리를 다른 클래스에 위임하는 것이 목적인 클래스이다. Result와 Result의 확장함수를 통해 유연하게 성공 및 실패를 처리할 수 있다. 작업을 수행하기 위한 방법으로는 대표적인 try-catch도 있고, Kotlin 1.3v에서 추가된 Result를 반환하는 inline 함수, runCatching도 있다. 이번 포스팅에서는 Result, 여러가지 Result 함수를 소개한다. 사전 지식 : runCatching runCatching은 코틀린 1.3v에서 도입된 캡슐화 블록이다. runCatching 블록 안에서 성공/실패 여부가 캡슐화된 Result 형태로 반환한다. try..
· Kotlin
1편에 이어서, 사용할 수 있는 자료구조와 Collections 확장 함수에 대해서 소개한다. 1편에 이어 새로 업데이트 하였다. (2023.08.07 1.0.2v) 리스트 : List 리스트는 여러개의 값을 불연속적인 공간에 저장하는 동적인 자료구조이다. 포인터로 불연속적인 메모리에 접근하기 때문에 메모리 관리에 용이하다. 코틀린은 불변 리스트와, 가변 리스트를 구분하고 있다. 가변 리스트는 요소를 추가하거나 삭제가 가능한 리스트를 의미한다. listOf() 메소드를 통해 생성하는 리스트는 불변 리스트이며, 가변 리스트는 mutable 키워드를 앞에 붙여서 생성할 수 있다. fun main(){ val immutableList: List = List(size = 3){ init -> init } // ..
· Kotlin
코틀린으로 코딩테스트 준비하기 최근에 대기업 코딩테스트를 돌아보던 중 안드로이드는 거의 다 자바도 아닌 코틀린만 응시가 가능한 기업들이 많았다. 평소에 개발로는 거의 사용하지 않는 파이썬으로 알고리즘을 풀다가, "이번 기회에 자주 사용하는 코틀린으로 코딩테스트를 보면 좋을 것 같다."라는 생각이 들어 시작하게 되었다. 필자의 게시글 중 해당 게시글만 인기가 많아, 게시글을 리마스터하였다. Update : (2023.08.03, 1.0.1v) 필자는 코틀린으로 문제를 약 300문제 가까이 풀었는데, 자주 사용하는 문법과 자료구조에 대해 설명한다. 코틀린 사용자 입력 받아 출력하기 기본 입출력 함수 : readLine(), print() fun main(args: Array) { var name = read..
정자이노
'Kotlin' 카테고리의 글 목록