Kotlin은 JetBrains에서 만든 JVM 기반 언어로, 기존 Java를 대체하기 위해 등장한 더 간결하고 안전한 언어
Kotlin 은 단순한 문법 개선이 아니라 언어 자체의 철학이 명확한 언어
Java 개발자도 쉽게 적응 가능getter / setter 자동 생성// JAVA
class User {
private String name;
private int age;
}
// Kotlin
data class User (
val name: String,
val age: Int
)
NullPointerException 방지var name: String = "Hendo"
// name = null X -> 컴파일 에러
var nullableName: String? = null // 가능
Java 와 100% 호환Java 라이브러리 그대로 사용 가능val list = java.util.ArrayList<String>()
val name = "Hendo" // 자동으로 String 추론
Java 의 가장 큰 문제였던 NPE를 구조적으로 해결val name: String? = null
println(name?.length) // null이면 그냥 null 반환
val length = name?.length ?:0
Kotlin은 하이브리드 언어val numbers = listOf(1, 2, 3)
val result = numbers.map { it * 2 }
println(result) // [2, 4, 6]
"상태 변경을 최소화하고, 함수를 중심으로 코드를 작성하는 방식"
ex. val, var)data class User (
val name: String,
val age: Int
)
자동 생성
equals()hashCode()toString()copy()기존 Thread보다 훨씬 가벼움
launch {
delay(1000)
println("Hello Coroutine")
}
| 항목 | Java | Kotlin |
|---|---|---|
| 코드 길이 | 길다 | 짧다 |
| Null 처리 | 런타임 에러 | 컴파일 방지 |
| 함수형 지원 | 제한적 | 강력 |
| 생산성 | 보통 | 높음 |
| 상호운용성 | - | Java 100% 호환 |
Java의 장황함NullPointerException=> 해결하기 위한 언어