Java와 상호 운용 가능
정적 타입의 언어
- 컴파일 시점에 객체의 타입이 결정되며 런타임 시점에 문제가 발생할 확률이 훨씬 더 적어 상대적으로 안전한 언어라고 할 수 있다
- 타입 추론
- Kotlin은 기본적으로 변수가 선언될 때 변수의 타입을 명시하지 않더라도 할당된 값을 보고 어떤 자료형을 가지는지 추론해 줍니다. 타입 추론 덕분에 반복적인 코드량을 줄일 수 있다
- 간결한 언어
- data class를 사용하여 필드, Getter/Setter, 생성자를 자동 생성함으로써 보일러플레이트 코드가 개선된다
- Null safe 언어
- null 체크를 좀 더 간결하게 nullable변수에서 null safe (?.)로 호출 하거나 엘비스 연산자를 통해 null일 때에 대한 처리를 직접적으로 바로 처리할 수 있습니다.
- 코루틴
- 스레드는 아니지만 일종의 가벼운 스레드로 동시성 작업을 간편하게 처리할수 있다
- 확장함수
- 기존 클래스를 상속하지 않고도 새 함수로 확장할 수 있으므로 코드 재사용 및 기능 추가가 더 쉬워진다