개발사: JetBrains, 2011, 오픈 소스 프로그래밍 언어.
JVM 기반의 언어이며, Java와 유사하지만 더 간결한 문법과 다양한 기능을 추가하였다. Java와의 상호 운용이 100% 지원된다.
JVM 바이트코드가 기본이지만, Kotlin/Native 컴파일러를 사용하여 기계어로 컴파일할 수 있다.
안드로이드, 스프링 프레임워크, Tomcat, JavaScript, Java EE, HTML5, iOS, 라즈베리 파이 등을 개발할 때 사용할 수 있다.
?
'를 붙여 Nullable로 만들 수 있다. Swift에서도 유사한 기능을 쓰는데 Kotlin 쪽이 제약이 좀 덜해서 사용하기 편하다.Integer
'나 'Double
'처럼 primitive type을 위한 별도의 wrapper class가 존재하지 않는다. 모든 primitive type은 객체 취급을 받는다. 따라서 Int
같은 변수는 객체에 할당된 toString
함수 등을 바로바로 이용할 수 있다.int
형을 확장해 'i = 3 power 4
' 같은 식으로 새 연산자를 만들 수 있다.==
, !=
연산자가 객체의 identity가 아닌 내용물을 비교한다.open
키워드가 붙은 부모 클래스로부터만 상속을 받을 수 있다.static
메서드가 없다.