반응형
변수는 타입이 있으며 타입에 따라 기본형(primitive)과 참조형(refrence) 2가지로 나눌 수 있다.
기본형은 실제 data를 저장하고 참조형은 아래와 같이 data값이 저장되어 있는 주소를 값으로 가지고 이를 wrapper 클래스라고 부른다.
public final class Integer extends Number implements Comparable {
...
private int value;
...
}
기본형과 참조형
기본형(primitive) | 참조형(wrapper) |
boolean | Boolean |
char | Char |
byte | Byte |
short | Short |
int | Integer |
long | Long |
folat | Float |
double | Double |
코틀린은 기본형과 참조형 타입을 따로 구분하지 않고 통일 하여 사용한다.
ex) int, Integer -> Int
이럴경우 비효율적이라 생각할 수 있지만 컴파일시 원시타입과 참조형 타입으로 분리된다.
배열에서 기본형과 wrapper클래스를 사용하기 위해서는 아래와 같이 사용한다.
val arr = IntArray(3)
val arr2 = arrayOfNulls<Int>(3)
디컴파일을 해보면 아래와 같다.
int[] arr = new int[3];
Integer[] arr2 = new Integer[3];
반응형
'코틀린' 카테고리의 다른 글
비동기 callback을 동기로 처리하기 suspendCoroutine, suspendCancellableCoroutine (0) | 2022.05.23 |
---|---|
코틀린 StateFlow 및 SharedFlow (2) | 2022.05.21 |
코루틴 채널 개념 및 예제 (0) | 2022.05.07 |
코틀린 코루틴 개념 및 기본 사용 용도 정의 (0) | 2021.06.23 |
JVM (0) | 2021.05.20 |