코틀린의 모든 변수는 객체이다.
정수를 표현하는 Int, Short, Long과 실수를 표현하는 Double, Float, 2진수를 표현하는 Byte 그리고 true나 false를 표현하는 Boolean 타입이 있다.
문자는 Char로 나타내며 문자를 ' ' 감싸소 표현하고 Number타입으로는 표현이 불가하다.
String은 문자열을 표현하는 타입으로 "나 """로 감싸서 표현한다.큰따옴표로 표현한 문자열에서는 이스케이프 시퀀스를 입력해야 하지만 삼중 따옴표로 표현하면 키보드로 입력한 줄 바꿈이나 들여쓰기 등이 데이터에 그대로 반영된다.
String 타입의 데이터에 변숫값이나 어떤 연산식의 결괏값을 포함해야 할 때는 $기호를 이용하며 이를 문자열 템플릿이라고 한다.
Any - 최상위 클래스
Unit - 반환문이 없는 함수 Unit타입으로 선언한 변수에는 Unit 객체만 대입 가능하다. 보통 함수에서 반환문이 없음을 나타낼 때 Unit타입 사용하며 함수 선언시 반환타입 생략하면 자동으로 Unit적용. void와 비슷함
Nothing - null이나 예외를 반환하는 함수
Nothing으로 선언한 변수는 null만 대입 가능하다. 주로 함수의 반환 타입에 사용하며 반환은 하지만 의미 있는 값은 아니라는 의미로 항상 null만 반환하는 함수나 예외를 던지는 함수의 반환 타입으로 사용
널 허용과 불허용 : 구분은 변수를 선언할 때 타입뒤에 ? 붙으면 허용, 없으면 null 불허용
함수 선언 : fun 함수명(매개변수명: 타입): 반환타입 {...} 함수의 매개변수는 val이 자동 적용된다.
함수의 매개변수에는 기본값을 선언할 수 있으며 호출시 인자가 없으면 기본값이 적용된다.