코틀린을 왜 사용할까?

간결한 문법

안전한 처리 (NPE)

JVM , 자바와의 호환

자바의 getter, setter, equals 등.. 데이터클래스를 만들때 간결하게 처리.

람다식도 간결화.

var output: String
output = null // Compilation Error

val name: String? = null // Nullable type
println(name.length()) // Compilation Error

fun calculateTotal(obj: Any) {
	if (obj is Invoice) 
		obj.calculateTotal()
} // auto cast 캐스팅 오류 없애줌. 

소스를 자바와 코틀린 둘다 사용이 가능하다.