첫번째 기본형 a값 77은 stack 에 쌓여짐

두번째 참조형은 stack에 참조 주소값이 들어있음 그 참조 주소값을 통해 Heap에 담겨 있는 값을 가르킨다

속도만 보았을땐 기본형이 참조형보다 빠르다 (값을 가져오는 과정이 더짧으니까) 하지만 기본형과 참조형을 혼합해서 사용하다 보면 서로 자료를 비교한다거나 등 여러가지 문제(대표적인 Null Exception)가 발생 할수 있음

이러한 문제 때문에 코틀린에선 기본형을 쓰지 않고 참조형만 쓰게 한다 나중에 컴파일 할때 참조형이 다 알아서 기본형으로 변한 시켜주기때문에 신경 쓸 필요 없다

위 그림과 같이 똑같은 문자열이면 스텍에는 쌓이지만 힙에는 쌓이지 않는다 참조 주소를 그대로 쓰기 때문(메모리적 측면에 이득)