일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Rxjava
- relay
- Kotlin
- textfield
- livedata
- MiTweet
- android
- ProGuard
- 백준
- Gradle
- 프로그래머스
- 쿠링
- Hilt
- boj
- GitHub
- AWS
- Codeforces
- 코루틴
- Coroutines
- 코드포스
- androidStudio
- pandas
- MyVoca
- Compose
- Python
- architecture
- Coroutine
- TEST
- activity
- 암호학
- Today
- Total
목록inline (2)
이동식 저장소
다음 글을 요약했음을 밝힙니다. Inline classes | Kotlin kotlinlang.org 코드를 작성하다 보면, primitive 타입을 감싸는 wrapper 클래스가 필요할 때가 있다. 예를 들어 도형의 너비를 ``Int``로 직접 나타내는 대신 ``Width`` 클래스로 나타내는 것이다. 물론 ``Width``는 내부적으로 ``Int`` 값을 가지고 있다. class Width(val value: Int) 그러나 위 코드처럼 하면 런타임 성능이 크게 나빠진다. 객체를 만들 때 힙 메모리를 할당하기 때문이다. 게다가 위 코드처럼 primitive 타입을 감싸면 성능이 더 나빠진다. Primitive 타입은 가장 많이 쓰이는 만큼 최적화도 잘 되어 있는데, wrapper 클래스는 완전히 새로..
참고: 이 글은 Kotlin - Inline classes 공식 문서를 번역한 글입니다. Inline classes | Kotlin kotlinlang.org 비즈니스 로직에서 primitive 타입을 감싸야 하는 경우가 가끔 생긴다. 예를 들어 ``Card``의 고유 아이디를 ``val id: Long``으로 나타낼 수도 있지만, ``CardId`` 클래스를 이용하여 표현하면 의미를 더 명확히 드러낼 수 있다. 겨우 아이디 하나 때문에 그렇게까지 해야 하나 싶기도 하지만, 멤버 변수의 값에 제한이 있는 경우 ``inline class``를 유용하게 사용할 수 있다. 예를 들어 ``month``라는 변수는 1부터 12까지의 값만을 가질 수 있으므로 13 이상의 값이 주어지면 값을 할당하지 않도록 코드를 ..