1. 굉장히 간결한 문법 제공 2. 오버헤드 없는 null 에 대한 안정성. nullable과 notnull 모두 사용이 가능하다. 변수를 선언시에 ?를 붙인다면 nullable을 만들수 있다 3. 확장함수, 연산자 오버로딩을 지원한다. 4. JVM환경위에서 돌아간다. JAVA에 100% 호환된다. (사실 이점이 엄청나게 큰 장점이다.) 5. 람다식을 지원한다. 6. singleton 방식의 객체를 object로 만들 수 있다. 7. 세미콜론이 필요없다. 8. 구글에서 공식언어로 kotlin을 지정했다. 심지어 공식발표문서의 문법도 kotlin으로 발표된다.