Kotlin은 기본 자료형을 선언할 수 없지만, 최적화를 위해서 내부적으로 사용할 수 있습니다. 이전 45: 불필요한 객체 생성을 피하라에서 언급했던 것처럼 기본 자료형은 다음과 같은 특징이 있습니다.
- 일반적인 객체와 다르게 추가적으로 포함되는 것들이 없기 때문에 가볍습니다.
- 값에 접근할 때 추가 비용이 들어가지 않기 때문에 빠릅니다.
따라서 대규모 데이터를 처리할 때 기본 자료형을 사용하면, 상당히 큰 최적화가 이루어집니다. 그런데 코틀린에서 사용되는 List와 Set 등의 컬렌션은 제네릭 타입입니다. 제네릭 타입에는 기본 자료형을 사용할 수 없으므로, 랩핑된 타입을 사용해야 합니다. 일반적인 경우에는 이렇게 하는 것이 훨씬 더 처리하기 쉬워지므로 적합합니다. 하지만 성능이 중요한 코드라면 IntArray와 LongArrayt 등의 기본 자료형을 활용하는 배열을 사용하는 것이 좋습니다.
Kotlin 타입 | Java 타입 |
Int | Int |
List<Int> | List<Integert> |
Array<Int> | Integer[] |
IntArray | Int[] |
정리
일반적으로 Array보다 Listd와 Set을 사용하는 것이 좋습니다. 하지만 기본 자료형의 컬렉션을 굉장히 많이 보유해야 하는 경우에는 성능을 높이고, 메모리 사용량을 줄일 수 있도록 Array를 사용하는 것이 좋습니다.
'Kotlin' 카테고리의 다른 글
[Effective Kotlin] 52 - mutable 컬렉션 사용을 고려하라 (0) | 2024.01.21 |
---|---|
[Effective Kotlin] 50 - 컬렉션 처리 단계 수를 제한하라 (1) | 2024.01.07 |
[Effective Kotlin] 48 - 더 이상 사용하지 않는 객체의 레퍼런스를 제거하라 (0) | 2024.01.02 |
[Effective Kotlin] 47 - 인라인 클래스의 사용을 고려하라 (1) | 2023.12.18 |
[Effective Kotlin] 46 - 함수 타입 파라미터를 갖는 함수에 inline 한정자를 붙여라 (1) | 2023.12.10 |