1. 주석
2. 코드구문 구분
- 코틀린은 세미콜론(;)을 붙이지 않아도 된다.
- 규칙만 지키면 언어차원에서 구문의 끝을 알아서 판단한다.
3. 표기법
- 클래스 이름 → ClassName 파스칼 표기법
- 함수, 변수이름 → variableName, functionName 카멜 표기법
4. 변수 선언 var, val
4-1. var
- 일반적인 변수 선언
- 언제든지 읽기 쓰기가 가능하다.
4-2. val
- 선언시에만 초기화 가능
- 값을 변경할 수 없다.
- runtime시 변경되지 않아야하는 값은 val로 선언하는 것이 안전
4-3. 변수의 이름
- 변수는 선언 위치에 따라서 두 가지 이름으로 나뉜다.
- 클래스 내부에서 선언하는 경우 property(속성)
- 이외의 scope 내에서 선언하는 경우에는 local variable(지역 변수)
5. 연습
5-1. 변수 선언
메인함수에 정수형 변수를 하나 만들어보자.
fun main() {
var a: Int
println(a)
}

- 변수 a는 반드시 초기화되어야 한다
- 고전적인 언어에서는 초기화하지 않으면 기본값으로 초기화 되거나 null값을 가진다.
- 코틀린은 기본 변수에서 null을 허용하지 않는다.
- 변수에서 값을 넣지않으면 에러를 발생시켜 컴파일을 막는다.
5-2. 값 할당
- 변수를 참조하여 사용하기 전까지만 할당하면 된다.
fun main() {
var a: Int = 123
println(a)
}
5-3. nullable 변수
- ?를 붙이면 null이 가능한 nullable 변수가 된다.
- nullable 변수는 null point exception이 발생할 수 있으므로 주의해서 사용해야한다.
fun main() {
var a: Int?
println(a)
}
6. 기본 자료형
참고. Basic types | Kotlin
자바와의 호환을 위해 자바와 거의 동일하다.
6-1. 숫자형
- Byte : 8(bits)
- Short : 16
- Int : 32
- Long : 64
숫자 리터럴
- 카드 번호나 주민등록번호, 굉장히 큰 숫자같은 경우에 사용할 수 있다.
- 밑줄(_)로 숫자를 구분할 수 있다.
var cardNum: Long = 1234_5678_2345_9876L
6-2. 진수
-
10진수
-
16진수
-
2진수
-
8진수(지원안함)
6-3. 실수형
- Float : 32
- Double : 64
- 기본형
- 지수표기법 가능
var expValue:Double = 123.5e10
6-4. 문자형
6-5. 진리형
- Boolean
var booleanValue: Boolean = true
var booleanValue: Boolean = false
6-6. 문자열
- 한줄 " "
- 여러 줄 """ """ → 줄바꿈, 특수문자 그대로 사용가능
fun main() {
val stringValue = "one line String test"
val multilineStringValue = """multiline
String
test!\\\!@#$!#$!#"""
}