[Kotlin] Data type

👻·2022년 12월 23일
0

Kotlin

목록 보기
1/2
post-thumbnail

📌 Kotlin에서의 Data type

Java에서 Data type은 크게 두 가지로 분류된다.
Primitive type(기본형), Reference type(참조형)으로 나뉜다.

하지만 Kotlin에서는 변수를 val, var 두 형태로 사용하는데, 수정 가능 여부 정도로 나뉜다.
(물론 명시적으로 Data type 작성은 가능하다.)

여기서 의문이 생겼다.

📌 Java에서의 Data type과 Kotlin의 차이점

Java 코드로 예시를 먼저 생각해보자.

long num1 = 1_000L;
Long num2 = 2_000L;

이 코드에서 num1은 Primitive type이고, num2는 Reference type이다.

연산을 한다는 가정 하에 Reference type을 사용하게 되면
Boxing과 Unboxing이 일어나면서 불필요한 객체가 생성된다.

그럼, Kotlin에서 val/var을 사용하면 연산을 할 때 항상 Boxing과 Unboxing이 일어날까?
Kotlin Docs에서 답을 얻었다.

📌Kotlin Docs

https://kotlinlang.org/docs/basic-types.html

숫자, 문자, 불리언 같은 일정 타입들은 내부적으로 특별한 표현을 가지고 있다고 한다.
또한 Runtime에서 Primitive value로 표현된다고 한다.
하지만, 코드 자체에서는 평범한 Class 처럼 보인다고 한다.

무슨말인지 쉽게 생각해보면 연산을 수행할 경우 Kotlin이 알아서 영리하게
Data type을 내부적으로 Primitive type으로 변경하여 적절히 처리하여 준다는 말이다.

결론은 개발자가 Boxing/Unboxing을 고려하지 않아도 되게 설계되어있다는 것이다.

profile
Software Developer

0개의 댓글