1. 코틀린을 추천하는 이유
- 2017년 구글 안드로이드 개발 공식 언어로 코틀린 지정
- 코틀린으로 개발한 결과 코드베이스 크기가 33% 줄고 NPE 비정상 종료가 30% 감소
- 자바보다 간결
// java
public class Main {
public stastic void main(String[] args) {
System.out.println("Hello World");
}
}
// kotlin
fun main() {
println("Hello World")
}
- Null satety
- Java
- Java 컴퍼일러는 NPE(NullPointerException)의 발생을 방지하지 못함
- NPE는 항상 런타임(서비스 운영 중)에 발생하며 사용자에게 불편
- NPE가 발생하는 위치를 명확히 알려주지 못하는 경우도 많음
- Kotlin
- Kotlin 컴파일러는 Null 가능 여부를 미리 체크하고 컴파일 타임에 미리 체크
- 널 가능성에 따라 동작을 달리할 수 있음
- Java
// java
void makeNullPointerException() {
String str = null;
System.out.println(str.toUpperCase());
}
// kotlin
fun dontMakeNullPointerException() {
// 널이 될 수 있는 타입
val nullable: String?
// 널이 될 수 없는 타입
val notNull: String
}
- 자바와의 상호 운용성(interoperability)
2. 다시 자바를 쓰더라도 좋은 점
- 코틀린(kotlin)에서 NPE를 피하는 법이나 함수적인 프로그래밍 기법 그리고 변수의 사용 범위를 최대한 좁히는 기법(변수의 오남용 방지) 를 통해 자바에서 더 신경쓰면서 개발하게 됨
반응형