변수 선언 예
val username = "Kildong" // 자료형을 String 으로 자동으로 추론
var username // 자료형을 지정하지 않은 변수는 사용할 수 없다
val init:Int // 사용전 혹은 생성자 시점에서 변수 초기화 필수
val number = 10 // 자료형을 Int 형으로 자동으로 추론
자료형
- 자료형?
- primitive type
- int, long, float, double..
- reference type
- Int, Long, Float, Double..
- 코틀린에서는 참조형만 사용되며 코틀린 컴파일러가 자동적으로 최적화
- 컴파일 과정을 거친 후 기본형이 사용됨
논리 자료형
문자 자료형
문자열
- Heap내에 있는String Pool 공간에 구성됨
자료형의 변환
- 기본형을 사용하지 않고 참조형만 사용
- 서로 다른 자료형은 변환 과정을 거친 후 비교
val a:Int = 1
val b:Double = a
val c:Int = 1.1
val b:Double = a.toDouble()
val result = 1L + 3
묵시적 변환
- Any 자료형이 정해지지 않은 경우
- Int, String은 Any 형의 자식 클래스(모든 클래스의 뿌리)
- 언제든 필요한 자료형으로 자동 변환 (스마트 캐스트)
자료형의 검사
val num = 256
if (num is Int) {
println(num)
} else if (num !is Int) {
print("Not a Int")
}