프로그래밍 언어의 자료형은 "기본형 자료형과 참조형 자료형"으로 두가지가 있다.
둘은 크게 할당 과정에서 차이가 있다.
int x = 50; //기본형자료형 Car car = new Car(); //참조형자료형이다. 참조주소를 abc1이라고 가정
위 코드와 같이 선언하는 경우 스택에는 값 50과 참조주소 abc1 이 저장된다.
저장된 참조주소의 실제 객체는 동적메모리인 힙에 저장된다.
아래 그림을 보면 이해가 더 쉬울 것 같다.
자바에서는 두가지 모두를 사용하고, 코틀린에서는 참조형만 사용한다.
기본형이 참조형보다 코드 리뷰 시간이 더 빠르다.
그렇다면 코틀린의 프로그램 속도가 더 느리지 않을까?
코틀린의 경우 성능을 최적화하기 위해 컴파일러를 거칠 때 기본형으로 대체된다.
따라서, 코틀린의 경우 자료형을 고려하는 최적화를 신경쓰지 않아도 된다.