본문 바로가기

Kotlin

[코틀린] let, with, run, also, apply 정리 안녕하세요 남갯입니다. run과 let 등등 대충의 쓰임새만 알고 있고 따로 물어보면 사용처에 대한 정리가 되어 있지 않아 정리를 못했던거같은데 에서 다시 정리해서 포스팅해보려고 작성했습니다. with run 둘다 this1. with는 입력하는 객체가 따로 필요없을때2. run은 nullable일때 ex ) with(person){ this?.name this?.age } person?.run{ this.name this.age } let run let은 it run은 this다중문을 사용했을때 혹은 this가 모호할때let을 사용 it말고 이름을 지정함으로써let{ a1 -> a1.let { a2-> //todo } } also letalso 객체 자체의 동일한 내용 이용하고 싶을때 "abc".let..
[Kotlin] 코틀린 확장 함수 (Kotlin extension functions) 예제 및 정리 안녕하세요 YTS 입니다. 오늘은 코틀린에 확장 함수 (Kotlin extension functions)! 에 대해 알아보려고합니다. 당연히! 이 글을 쓴다는거 자체가 확장함수를 지원한다는 얘기겠죠? 우선 전체적으로 공개하는 확장 함수부터 알아볼까요? 1.Kotlin 파일을 생성합니다! class 파일이 아닌 코틀린 파일로 생성해주세요! 저는 extenstion 이라는 패키지 밑에 파일을 생성했어요! 2. 확장 함수를 구현해주세요! package com.yts.healing.extension import android.content.Context import android.view.inputmethod.InputMethodManager import android.widget.Toast import and..
[kotlin] 제너릭 변성(variance) 정리 안녕하세요 남갯입니다 오늘은 제너릭 타입에대해 정리해보려고합니다 SubType 이란? subType이란 어떤 class가 다른클래스를 상속받은것을 의미한다. 즉 타입 A가 필요한 곳에 타입 B 값을 넣어도 문제가 없다면 B는 A의 하위타입인 것이다. 예를들어 open class A() { val x = 0 val y = 1 } class B : A(){ val z = 2 } 와 같이 B는 A를 상속받았으므로 A의 subType이다. var a = A() var b = B() a = b는 가능하지만 var a = A() var b = B() b = a는 mismatch가 난다. 즉 A타입이 필요한곳에 B를 넣었는데 문제가 없으므로 B 는 A의 SubType인것이다. 무공변성(invariance) 제너릭타입..
[fold 함수] fold 함수 알아보기 안녕하세요 남갯입니다 오늘은 fold 함수에 대해 간단히 포스팅 해보려고합니다. fold 함수는 inline fun Array.fold( initial: R, operation: (acc: R, T) -> R ): R ........ Accumulates value starting with initial value and applying operation from left to right to current accumulator value and each element. -출처 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/fold.html 초기값을 설정해주고 왼쪽부터 오른쪽까지 현재의 계산값에 각각을 적용하는 함수입니다. val sum..
[안드로이드] ROOM 라이브러리 사용하기 , 코루틴 안녕하세요 남갯입니다 오늘은 구글 JetPack componet에 포함된 ROOM에 대해 포스팅해보려고합니다. 스스로 정리해서 작성하는것이기때문에 틀린점이나 비판은 댓글에 달아주시면 달게받겠습니다. - JetPack component란? 구글 IO에서 62개정도의 작은 세션들을 공개했습니다 그 세션들의 집합을 Jetpack 이라하는데 , Android앱을 손쉽게 개발하도록 지원하는 android 소프트웨어 구성요소 컬렉션입니다이런 컴포넌트로 상용구코드를 작성하지않고, 복잡한 작업을 간소화 시킵니다. -출처https://developer.android.com/jetpack/, https://developers-kr.googleblog.com/2018/05/use-android-jetpack-to-accel..
코틀린 책 추천 커니의 코틀린 안녕하세요 남갯입니다 오늘은 코틀린 책을 추천드리려고 합니다. 자바는 할줄아는데 변화에 맞춰 코틀린을 공부해야할것같은데 으아~~ 너무 막막하시죠? 그래서 나온 커니의 코틀린!! 커니님 아시죠? 구글코리아에 근무하시고계시는 맞...나?완전 이해 쏙쏙되게 잘나와있어요 책이름 : 커니의 코틀린: 차세대 안드로이드 개발자를 위한가격은 28000원이고 자바코드에대한 설명과함게 코틀린코드데 대한 설명까지 아주 깔끔하게 비교해서 나와있습니다. 한번 구매하시고 공부하셔서 안드로이드를 코틀린으로 정복하세요 보통 커니의 코틀린이랑 코틀린 인 액션이랑 고민하시는분이 많은데, 사람마다 다르겠지만 어떤분이 올리신 글을보면 커니의 코틀린 보고 코틀린 인 액션을 보라고추천하시더라구요! 쿠팡에서 25,200원에 판매한다고합니다
[Kotlin] 코틀린 변수 선언 및 접근 제한자 안녕하세요. YTS 입니다. 오늘은 코틀린 변수와 접근 제한자에 대해 알아보겠습니다. 1. 변수 var와 val 코틀린에서 변수를 선언할 때 무조건 var 혹은 val을 써야합니다. var = 수정이 가능한 변수 -> 항상 변수형을 선언해야함 val = 수정이 불가능한 변수(final), 코틀린 Default 변수 -> 변수 타입을 쓰지않아도 자동으로 캐스팅이 됨 2. 변수 선언 및 get/set 멤버 변수의 접근 방법 코틀린에서는 기본적으로 get/set을 제공합니다. 또한 오버라이드를 해서 데이터를 가공할 수 있는데요. 밑에서 알아보겠습니다. 위에 사진과 같이 get, set을 오버라이딩 하여 데이터를 가공해보았습니다. 자바 코드에 비해 확실히 직관적인 부분이 돋보입니다. 3. 접근 제한자 1. pr..
[Kotlin] 코틀린 클래스 선언 안녕하세요. YTS 입니다. 코틀린은 자바에 뿌리를 두고 있기때문에 자바와 비슷한점이 많습니다. 코틀린에서도 클래스를 선언 할때 Class라는 키워들 사용합니다. 1. 클래스 선언 이름과 나이 나 이름과 나이 키 인자를 받는 Person 클래스를 생성할때 자바와의 차이점을 보겠습니다. 코틀린은 자바와 달리 클래스 생성자를 선언부 혹은 클래스 내부에 Constructor를 사용하여 생성자를 만듭니다. 2. 생성자 기본값 설정 코틀린은 자바 코드와 달리 기본값 설정에 코드 길이가 많이 짧아지고 한눈에 클래스의 의도를 파악 할 수있다는 장점이 있습니다. 이번 포스팅은 여기서 마무리하겠습니다. 감사합니다.