Kotlin
-
[Kotlin] 지연초기화(lateinit, by lazy), 위임(by)Kotlin 2024. 12. 20. 08:00
객체에 프로퍼티를 선언하면 초기화를 해주어야한다근데 객체에 들어오는 정보가 나중에 오는 경우 지금 당장 초기화하기 어려울 수 있다이런 경우 지연 초기화를 사용해 초기화를 지연시킨다지연초기화를 할 때 latenit, by lazy라는 키워드를 사용해서 지연시킬 수 있다이러한 키워드들을 사용해서 컴파일러한테 나중에 초기화를 하겠다고 알려주는 것이다각각의 키워드들에 대해서는 아래에 정리하겠다! 1. lateinit var로 선언한 프로퍼티에서 사용이 가능하고, 해당 프로퍼티에 getter, setter를 사용할 수 없다class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override..
-
[Kotlin] Custom Getter, SetterKotlin 2024. 12. 19. 08:08
단순히 클래스 내의 프로퍼티에 접근해서 해당 프로퍼티의 값을 가져오거나 변경할 때는 게터와 세터를 굳이 쓸 필요가 없다왜냐면 코틀린은 알아서 getter, setter를 만들어주기 때문이다하지만 해당 프로퍼티를 가져올 때 값을 가공하거나 혹은 다른 프로퍼티와 연관되어 연산값 등을 가져오고 싶을 때는 커스텀 게터세터가 필요하다말은 거창하지만 원하는 대로 getter와 setter를 지정해줄 수 있다는 것이다 사용법은 간단하다프로퍼티를 선언하고 그 밑에 getter와 setter를 정의해주면 된다참고로 val로 선언된 프로퍼티의 경우 재할당이 안 되기 때문에 getter만 가능하다class Person(_name: String, _age: Int) { private var name: String = _..
-
[Kotlin] Scope functions(let, also, apply, with, run, use)Kotlin 2024. 12. 3. 23:29
코틀린 scope functions를 사용하면 좀 더 간단하게 코드를 작성할 수 있다헷갈리는 것들이 있어 정리해보려고 한다 1. letlet을 호출하는 객체 T를 매개변수로 받아서 block으로 넘기고 block안의 결과값(value)을 리턴함사실 이렇게 말하면 어렵고 코드로 보면 쉽다 package org.examplefun main() { checkName("hans") checkNameLet(null)}fun checkName(name: String?) { when(name) { null -> println("이름을 다시 입력해주세요") else -> println("name is $name") }}fun checkNameLet(name: String..
-
[kotlin] String.formatKotlin 2024. 11. 7. 08:39
코틀린으로 간단한 콘솔 과제에서 String format을 사용해 콘솔에 문자열을 보여주라는 피드백을 받았다그냥 나는 const val로 콘솔창에 보여줄 글로벌 상수로 정의했는데, String format을 사용해서 좀 더 가독성있게 작성할 수 있는 거 같았다 이걸 사용하기 위해 형식 문자를 알아야 한다 형식 문자란?형식 지정자는 컴퓨터에게 어떤 정보를 어떻게 화면에 보여줄지 알려주는 표시이며 프로그래밍에서 출력 형식을 제어하기 위해 사용된다고 한다. 형식 문자를 사용해서 코드의 결과값을 문자열로 원하는 형태대로 나타낼 수 있다. 코틀린에서는 형식문자를 사용하기 위해 문자열에 format을 사용할 수 있다- %b : boolean- %s : 문자열- %c: 문자- %d : 정수- %f : 실수- %e..
-
[Kotlin] 기본타입(Primitive Types)Kotlin 2024. 9. 28. 08:14
안드로이드쪽으로 변경해보고자 코틀린으로 진행하는 안드로이드 개발 과정을 듣고 있다기본이 탄탄해야 나중에 편하니까 배운 것들을 정리해보고자 한다참고로 나는 자바스크립트 + 타입스크립트를 주력으로 해왔는데 코틀린 배우면서 뭔가 타입이 더 상세하고 많다고 생각했다아무래도 주력언어였던 자바스크립트와 비교해서 적어놓을듯(그래야 기억하기 쉬워서ㅎ) 1. 변수var : 변경가능한 변수를 선언할 때 사용 참고로 var로 선언된 변수는 나중에 값을 할당할 때 타입을 명시해주어야 한다!!ex :var name: Stringname = "hanna" val : 변경 불가능한 변수를 선언할 때 사용. 처음 한 번만 초기값을 할당할 수 있음코틀린 공홈에서도 val을 사용하는 것을 권장하고 있다https://play.kotlin..