일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- boj
- relay
- GitHub
- 프로그래머스
- AWS
- androidStudio
- Hilt
- Coroutines
- architecture
- android
- Coroutine
- MyVoca
- pandas
- Kotlin
- 코루틴
- textfield
- Codeforces
- MiTweet
- 암호학
- Rxjava
- ProGuard
- Python
- TEST
- activity
- 코드포스
- Compose
- 백준
- 쿠링
- Gradle
- livedata
- Today
- Total
목록Class (2)
이동식 저장소
Kotlin을 처음 배울 때는 ``enum class``와 ``sealed class``를 혼동하곤 했다. enum을 구현할 떄 ``enum class`` 대신 ``sealed class``를 써도 되지 않나? 결론 ``sealed class``를 써도 되지만, 바람직한 사용법은 아니다. 왜? ``enum class``가 왜 적합한지는 설명 안 해도 되겠지? 이제 ``sealed class``의 바람직한 사용 예시를 설명하려 한다. ``sealed class``는 클래스가 정의된 블럭 안에서만 상속될 수 있으며, 외부에서의 상속을 허용하지 않는다. sealed class Animal { // Animal은 이 안에서만 상속될 수 있다. class Cat: Animal class Dog: Animal } ..
다음 글을 요약했음을 밝힙니다. Inline classes | Kotlin kotlinlang.org 코드를 작성하다 보면, primitive 타입을 감싸는 wrapper 클래스가 필요할 때가 있다. 예를 들어 도형의 너비를 ``Int``로 직접 나타내는 대신 ``Width`` 클래스로 나타내는 것이다. 물론 ``Width``는 내부적으로 ``Int`` 값을 가지고 있다. class Width(val value: Int) 그러나 위 코드처럼 하면 런타임 성능이 크게 나빠진다. 객체를 만들 때 힙 메모리를 할당하기 때문이다. 게다가 위 코드처럼 primitive 타입을 감싸면 성능이 더 나빠진다. Primitive 타입은 가장 많이 쓰이는 만큼 최적화도 잘 되어 있는데, wrapper 클래스는 완전히 새로..