변수를 초기화 한 경우에는 컴파일러가 그 타입을 유추할 수 있기 때문에 자료형을 생략할 수 있다. 그 추론 타입을 확인해보려면, Ctrl + Shift + p 를 누르면 된다.
변수 이름 지을 때 주의사항
코틀린은 기본적으로 참조형 데이터 타입을 사용하는데, 사실 참조형은 성능을 위해서 컴파일 타임에 기본형으로 변환된다. 이것은 컴파일러가 알아서 해주기 때문에 우리가 크게 신경쓰지 않아도 된다.
위의 그림처럼 기본형은 Stack이라는 메모리 공간에 할당되고, 참조형은 Heap이라는 동적 공간에 할당된다. Heap에 할당된 객체의 주소는 Stack에 저장되기 때문에 그 주소에 저장된 값을 참조할 수 있다.
정수 자료형은 양수, 음수, 0을 나타낸다. 코틀린의 정수 자료형은 부호가 있는 것과 부호가 없는 것으로 나눌 수 있다. 숫자 크기에 상관없이 기본은 모두 Int형으로 추론된다.
실수 자료형은 실수를 저장하기 위해 사용한다. 정수와 마찬가지로 실수도 자료형을 명시하지 않으면 Double형으로 추론된다. 만약 Float형으로 지정하고 싶다면 간략하게 식별자 F를 실수 옆에 붙이는 방법을 사용해도 된다.
실수의 개수는 무한한데, 메모리 공간은 유한하다. 그래서 메모리에 모든 실수를 표현하기는 어렵다. 이러한 메모리의 단점을 극복하기 위하여 실수를 표현할 때 부동 소수점(floating-point) 방식을 사용한다. 부동 소수점 방식은 실수를 가수, 지수로 나누어 표현하는 방식이다.
👉 부호 있는 실수: 부호 비트 + 지수부 + 가수부
📌 단축키 꿀팁
- 실행 (설정): Alt + Shift + F10
- 현재 파일 실행: Shift + F10
- 줄 간 복사: Ctrl + D
- 다중 선택: Alt + Shift + 더블 클릭
- 새 파일 추가: Alt + Insert
- 추론 타입 확인: Ctrl + Shift + p
문자열 자료형은 문자들의 배열이다. 문자형인 Char은 char과 같은 기본형으로 처리되지만, 문자열 자료형은 기본형에 속하지 않는 배열 형태로 되어있는 특수한 자료형이다. 문자열은 힙 메모리 영역의 String Pool이라고 부르는 공간에 문자열을 저장해두고 이 값을 변수에서 참조한다.
실제로 그런지 코딩으로 확인해보자!
자바에서는 == 연산자로 참조까지 비교하고, === 연산자는 없다.
하지만 코틀린에서 == 연산자는 값만 비교하고, === 연산자는 참조까지 비교한다.