1. 정적 타입 언어 (Statically Typed)
컴파일 시 변수의 자료형이 결정됨
자료형을 명시하지 않아도 자료형 추론 가능
2. 자바와 100% 호환 (Interoperable)
코틀린 컴파일러는 자바 중간코드 (ByteCode) 생성
자바 라이브러리 사용도 가능
3. Null Safety
Null Pointer Exception 방지할 수 있음
Nullable Type (?붙임), Non-null Type 자료형 구분
4. Immutable
상태를 바꾸지 않는 불변성 제공
val : value, Immutable, final variable, 할당 후 변경 불가
var : variable, mutable, non-final variable, 언제든 변경 가능
5. 간결성 (Concise)
자바처럼 get변수, set변수 필요없음
6. 확장함수(Extension Functions)
Functional Programming
Multiplatform