일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- livedata
- android
- Coroutines
- TEST
- MyVoca
- 암호학
- Coroutine
- Compose
- MiTweet
- Kotlin
- boj
- textfield
- AWS
- Gradle
- ProGuard
- 백준
- Rxjava
- architecture
- Python
- pandas
- Hilt
- GitHub
- 쿠링
- 프로그래머스
- 코드포스
- relay
- activity
- androidStudio
- Codeforces
- 코루틴
- Today
- Total
목록Kotlin (30)
이동식 저장소
Abstract class(이하 추상 클래스)는 인스턴스를 만들 수 없는 클래스이다. 추상 클래스는 보통 추상 메소드를 포함한다. 추상 메소드란 기본적으로 구현되지 않은 메소드이며 따라서 자식 클래스에서 구현되어야 한다. 추상 메소드는 항상 open이므로 별도로 open 키워드를 적을 필요는 없다. abstract class Animated { abstract fun animate() open fun stopAnimate() { // default implementation(기본 구현)을 가질 수 있음 } fun animateAgain() { // default implementation(기본 구현)을 가질 수 있음 } } 위의 예시에서 animate()는 추상 메소드이다. 따라서 `Anima..
참고: 이 글은 Kotlin - Inline classes 공식 문서를 번역한 글입니다. Inline classes | Kotlin kotlinlang.org 비즈니스 로직에서 primitive 타입을 감싸야 하는 경우가 가끔 생긴다. 예를 들어 Card의 고유 아이디를 val id: Long으로 나타낼 수도 있지만, CardId 클래스를 이용하여 표현하면 의미를 더 명확히 드러낼 수 있다. 겨우 아이디 하나 때문에 그렇게까지 해야 하나 싶기도 하지만, 멤버 변수의 값에 제한이 있는 경우 inline class를 유용하게 사용할 수 있다. 예를 들어 month라는 변수는 1부터 12까지의 값만을 가질 수 있으므로 13 이상의 값이 주어지면 값을 할당하지 않도록 코드를 ..
비동기 코드는 본질적으로 어렵다. 제대로 공부하지 않은 비동기 코드는 더 어렵다. 지난 몇 일간 코루틴 ViewModel 코드를 테스트하다 아주 열불이 나서..;; 이참에 제대로 다시 공부해 보자. suspend 함수의 실행 순서 suspend 함수도 일반 함수처럼 순차적으로 실행된다. suspend fun function1() { println("fun 1") } suspend fun function2() { println("fun 2") } fun main() = runBlocking { function1() function3() } fun 1 fun 2 일반 함수를 섞어도 똑같다. suspend fun function1() { println("fun 1") } suspend f..
다음 두 코드의 차이점은 무엇일까? suspend fun test() { launch { // ... } } suspend fun test() = launch { // ... } 거의 똑같다 둘 다 launch를 실행하여 코루틴을 만든다. 유일한 차이점이라면 1번 코드의 반환값이 Unit인 반면, 2번 코드의 반환값은 새로 만들어진 코루틴 Job이라는 점. 둘 중 편한 걸 쓰면 되겠다. 나는 코루틴을 제어할 여지가 있는 2번 코드를 선호하는 편이다.

VSCode에서는 유난히 JVM 언어를 사용하기가 어렵다. 물론 내가 JVM의 구조를 정확히 몰라서겠지만, 항상 컴파일 문제가 내 발목을 잡았다. 그러나, 어제 드디어 C++와 완전히 같은 Kotlin 컴파일 환경을 구축했다. 이제 파일별로 컴파일하고 실행할 수 있다! 나와 같은 문제를 겪은 분들을 위해 나의 해결법을 공유한다. 주의: 이 글은 윈도우 환경을 기준으로 작성하였으며, 단어(환경 변수 등)를 일일이 설명하지 않습니다. 1. kotlinc 설치 kotlinc는 코틀린 파일을 JVM, JS 등 적절한 타겟으로 컴파일하는 컴파일러이다. 아래 링크를 통해 최신 버전을 다운로드하자. 2022년 2월 25일 기준으로 최신 버전은 1.6.10이다. Kotlin command-line com..