일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- Hilt
- 코드포스
- Python
- Gradle
- Compose
- Coroutine
- MyVoca
- MiTweet
- 쿠링
- 암호학
- AWS
- Codeforces
- ProGuard
- androidStudio
- textfield
- Kotlin
- Coroutines
- 프로그래머스
- architecture
- GitHub
- relay
- pandas
- Rxjava
- livedata
- activity
- boj
- 코루틴
- TEST
- android
- Today
- Total
목록Kotlin (30)
이동식 저장소
2년 전 글에서 sealed class와 enum class에 대해 간략하게 다룬 적이 있다. [Kotlin] sealed class vs. enum classKotlin을 처음 배울 때는 ``enum class``와 ``sealed class``를 혼동하곤 했다. enum을 구현할 떄 ``enum class`` 대신 ``sealed class``를 써도 되지 않나? 결론 ``sealed class``를 써도 되지만, 바람직한 사용법은 아니다thinking-face.tistory.com위 글에서는 enumerated value를 구현하기 위해 ``sealed class``를 사용할 필요가 없다는 결론을 내렸다. 사실 당연하다. ``enum class``가 멀쩡히 존재하기 때문이다. 그러나 ``enum ..
Kotlin K2 컴파일러가 드디어 stable 출시되었다! 주요 변경점들을 하나씩 알아보자.Kotlin 2.0.0 변경점그 외의 변경점 중 재밌어 보이는 것들을 정리해 보았다. What's new in Kotlin 2.0.0 | Kotlin kotlinlang.orgSmart cast 확대Smart cast는 비교문 등에 의해 변수가 자동으로 형변환되는 것을 말한다. 예를 들어 if 조건문에서 어떤 변수가 null이 아니라는 것을 확인했다면, if문 안에서는 해당 변수가 non-null로 간주된다. Kotlin 2.0에서는 이것이 확대되어, 컴파일러가 비교문을 통해 변수의 타입을 자동으로 추출하는 등 고급 smart cast 기능을 제공한다. class Cat { fun purr() { ..
Kotlin의 ``mutableMapOf()`` 함수는 내부적으로 ``LinkedHashMap()``을 반환한다. /** * Returns an empty new [MutableMap]. * * The returned map preserves the entry iteration order. * @sample samples.collections.Maps.Instantiation.emptyMutableMap */ @SinceKotlin("1.1") @kotlin.internal.InlineOnly public inline fun mutableMapOf(): MutableMap = LinkedHashMap() Kotlin ``LinkedHashMap``은 Java의 ``LinkedHashMap``으로 ``ty..

개요 구글에서 Java 다운로드를 검색하면, 예전부터 흔히 보던 오라클의 다운로드 페이지가 맨 위에 뜬다. 그런데 잘 보면 Version 8 update 381, 즉 JRE 8 버전이 다운로드된다고 한다. JDK 버전은 20을 넘어 21을 향해 달려가고 있는데, 유독 JRE만 8에서 멈춰있는 이유는 무엇인가? 멈춰있지 않다 사실 이 질문은 잘못된 질문이다. JRE가 버전 8에서 멈춰있지 않기 때문이다. JDK 11이 설치되어 있는 내 노트북에서 `java -version` 커맨드를 실행하면 OpenJDK Runtime 11 버전이 설치됐음을 확인할 수 있다. 오라클에서 개발자가 아닌 일반 사용자들에게 Java 8 버전을 권장하기 때문에 이런 오해가 생겼지만, 상위 버전의 JRE도 JDK와 함께 제공되고 ..
지난 글에서 Java의 컴파일과 관련된 두 가지 옵션을 공부했다. sourceCompatibility vs. targetCompatibility App level ``build.gradle`` 파일에는 ``sourceCompatibility``와 ``targetCompatibility``라는 속성이 정의되어 있다. android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } 이 thinking-face.tistory.com 이번 글에서는 Kotlin의 ``jvmTarget`` 옵션에 대해 공부해 보자. jvmTarget android { ... k..