본문 바로가기

코틀린 Kotlin

(8)
Kotlin (8) kotin in practice "Kotlin의 장점을 내가 활용하는 걸까?" 스스로에게 질문은 던졌고 내 스스로 내린 대답은 No 였습니다. 항상 변해가는 안드로이드 개발은 언제나 공부 투성이이고 예전 시나리오들을 모르는 개발자들은 어떻게 발전해왔는지도 함께 공부를 해야합니다. 같은 발자취를 걷다가 어느새 Android 의존적인 개발 보다 Kotlin 이나 Java에 충실하고 변하는 안드로이드 플랫폼에 너무 의존적이지 않고 본질을 파고 들고 싶다는 생각이 듭니다. 여러 생각이 들어서 공부하면서 Kotlin 글을 작성해야겠다는 생각이 들었습니다. 이 게시글은 막막한 생각 앞에 특별한 주제 없이 즉흥적으로,, Kotlin을 사용하는 production 개발 업무를 하다가 다시 기본적인 것을 뒤돌아보고 정리한 내용 입니다. 1. 변경 가능..
Kotlin (7) getter 와 Assignment (=)의 차이 Kotlin 예제들을 보다보면 get() 통해서 해당 프로퍼티에 직접적으로 값을 대입하지 않고(=) get()을 통해 다른 객체의 값을 사용하는 경우가 있습니다. 예를들어, 안드로이드 스튜디오에서 제공하는 Jetpack 의 ViewModel에서 LiveData를 사용할 때 MutableLiveData와 함께 사용해서 LiveData에 MutableLive의 value를 get() 하는 상황들을 많이 보셧을겁니다. 어떤 경우에 직접 대입 Assignment (=) 을 사용하지 않고 get()를 사용하는지 살펴보도록 하겠습니다. 1.val, var 코틀린의 프로퍼티는 기본적으로 field와 getter / setter를 자동생성 해줍니다. 예를들어 변수를 하나만들어서 이 변수를 자바 코드로 변환을 한다면 아..
kotlin (6) - lateinit 과 by lazy 용도 간단 정리 내일 토요일을 맞기 전에 java, kotlin , oop, solid , mvvm,mvc,mvp , AAC, android 등등을 한번에 복습을 해봤습니다. 과거에 공부했던 것들을 다시 보니 안보였던 부분들이 다시 보이기도하고 감회가 참 새로운거 같습니다. 이래서 영화를 여러번 돌려보나봅니다. 아무튼 마음 같아선 모두 한꺼번에 정리하는 글을 적고 싶지만 아쉽게도 시간은 한정적이네요 0. 지연 초기화 (lazy initialization) 프로퍼티의 초기화를 필요한 시점에서 하는 기법입니다. 그래서 소프트웨어 성능이나 효율의 이점을 얻을 수 있습니다. kotlin에서는 2가지 지연 초기화를 지원합니다. lateinit 과 by lazy입니다. 1. lateinit - var 프로퍼티에서 사용가능 - nu..
kotlin (5) Object 와 Companion Object 안녕하세요 loner 입니다. compose 관련 작성을 열심히 준비하다가 오랜만에 Kotlin 관련글로 돌아왔습니다. 어제 새벽에 지인 블로그를 살펴보다가 기본적인 지식들을 우연히 보게 되었습니다. https://jcchu.medium.com/ JCChu – Medium Read writing from JCChu on Medium. “기본부터”라는 말을 좋아하지만 정작 기본이 없는… 기본을 쌓아나가려고 합니다. 안드로이드 개발자로 성장하기 위해 열심히 책상앞에 앉아 두들겨보겠습니다. E jcchu.medium.com 위 블로그를 보다가 기본적인 내용이 몇가지 나왔는데 기본적인 것에 대한 상세내용이 기억이 나지않아서 복습할 필요성을 느꼇습니다.. 기본적인것에 대한 용도는 알고 평소에도 잘활용하지만 내부가..
Kotlin (4) - 안드로이드의 코틀린 (Google IO) 최근에 Google의 행사 IO 가 시작되었습니다. Google 에서 한해 마다 샌스란 시스코에서 개최하는 개발자 지향 레퍼런스 행사입니다. 이번 년도도 역시 Google은 Android 이야기로 뜨거웠습니다. 이번에 발표된 State of Kotlin on Android 라는 영상을 발표했는데 해당 영상의 내용을 참고했습니다. 과연 2021년에도 안드로이드의 코틀린 사랑이 뜨거운지 확인할 수 있습니다. https://youtu.be/etLUpHvhNZw 안드로이드 개발 리더인 제프리 반 고흐가 선 발표를 맡았고 그 뒤에 Dev Rel 를 맡고 있는 분이 추가적으로 얘기를 이어갑니다. 1. Kotlin Momentum Kotlin 은 4년전에 안드로이드 공식언어로 채택되었고 코틀린을 사랑하는 많은 개발자..
Kotlin (3) - 코틀린의 repeat와 Pair를 알아보자 (백준 1003) 코틀린 3번째편 입니다. 코틀린을 코틀린 답게 쓰기 위해서 알고리즘 문제 위주로 알아가는중 입니다. 오늘 알아 볼것은 repeat 입니다. 1. repact의 특징 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/repeat.html repeat - Kotlin Programming Language kotlinlang.org @kotlin.internal.InlineOnly public inline fun repeat(times: Int, action: (Int) -> Unit) { contract { callsInPlace(action) } for (index in 0 until times) { action(index) } } repeat는 내부적으로 for..
Kotilin (2) - 코틀린 피보나치 수열 및 1..10 정리 (백준 11727) 코틀린을 코틀린답게 사용하는것이 목표인 Loner 입니다. 오늘은 코틀린에서 피보나치 수열을 구하는 방법들을 정리해보도록 하겠습니다. 피보나치 수열이란? 1 1 2 3 5 8 13 21 34 55 ..... 현재항과 이전항을 더해서 값이 꾸준이 올라가는 공식 입니다. 1+1 = 2 (여기서 1 = 2)이 아래로 바뀐다. 1+2 = 3 (여기서 2 = 3)이 아래로 내려간다. 2+3 = 5 .... 이렇게 무한 반복해서 끊임없이 숫자를 더 해가는 공식입니다. 알고리즘을 시작하려는 분들은 피보나치 수열은 꼭 알고가야하는 기본지식이라고 생각합니다. (응용할데가 너무 많아..) 피보나치 수열에 대한 설명은 이미 구글링을 하는 순간 엄청나게 많은 관련자료들이 이미 많기 때문에 간략하게 설명을 적어놨으니 따로 살펴..
Kotlin (1) - 코틀린 응용 알고리즘 (프로그래머스 위장,베스트 앨범) 코틀린은 내가 정말로 사랑하는 언어이다. 내가 코틀린에서 가장 좋아하는 부분은 다음과 같다. 1. 자바와 100% 호환 가능 2. Collection funtion 3. Scope funtion 4. null Safe 체크 5. 간결함 정말 사랑하지 않을래야 않을수가 없다. 개인적으로 java 사이드 협업1개와 다른 나머지 프로젝트는 Kotlin으로 진행하고있는데 Java와 Kotlin의 차이가 확 느껴진다. Bulider 패턴이 없는 클래스 인자를 정의 할때 자바 같은 경우 dialog = new Dialog(context); dialog.setContentView(....); dialog.set.. dialog.set.. dialog.set.. 이런식으로 반복해서 정의해야하는 경우가 있는데 Kotli..