SW/앱플랫폼

자바말고 코틀린을 사용해야 한다?

얇은생각 2019. 8. 29. 07:30
반응형

자바말고 코틀린을 사용해야 한다?

Kotlin은 Java와 100 % 상호 운용 가능

Kotlin에 대해 가장 좋아했던 것입니다. Kotlin에서 Java 코드를 완벽하게 호출 할 수 있습니다. Kotlin과 Java는 모두 동일한 바이트 코드를 생성하므로 Kotlin과 완전히 다른 제품을 사용한다고 걱정할 필요가 없습니다.


즉, 기존 프로젝트에서 모든 기존 Java 코드를 사용하여 Kotlin을 즉시 사용할 수 있습니다. Kotlin에서 앱의 단순하고 작은 부분을 작성하여 구조와 구문에 익숙해지기 시작하십시오 (그런데 매우 간단합니다).


UI 구성 요소와 간단한 비즈니스 로직을 포함하여 대규모 프로젝트의 작은 부분에 Kotlin을 사용하기 시작했습니다. 전체 코드베이스의 4-5 %만이 Kotlin으로 작성되었습니다. 나머지는 여전히 Java로 되어 있습니다 (결국 변환 할 계획입니다).


Java와 Kotlin 코드의 혼합은 프로젝트에서 잘 작동합니다. 상호 운용성은 진정한 축복입니다.




NullPointerExceptions

1 년 동안 Android 앱을 개발해 왔으며 NPE는 앱에서 충돌이 발생하는 가장 일반적인 이유 중 하나였습니다.


모든 곳에서 null 검사로 코드를 보호하는 것은 시간이 많이 걸리고 지루한 작업이므로 모든 NPE를 수정하는 데 많은 시간이 투자되었습니다.


Kotlin을 사용하면 null 안전성이 Kotlin의 시스템 때문에 NPE에 대해 걱정할 필요가 없습니다. 런타임에 앱을 중단시키는 대신 컴파일 타임에 NPE를 잡는 것이 좋습니다.


실제로 어떻게 작동합니까? 기본적으로 모든 변수는 널이 아닙니다. "널링 가능" 변수를 원하면 "?"로 표시해야 합니다.


var message : String message =“좋은 하루 보내세요”


잘 작동합니다. 이제 다음을 이것을 시도하십시오 :


var message : String message = null


여기서 컴파일러는 컴파일에 실패하고 다음을 알려줍니다. 널 (NULL)은 널이 아닌 문자열의 타입이 될 수 없습니다. 널 입력 가능 변수를 활용해주어야 합니다.


var message : String? message = null


이제는 잘 컴파일되지만이 변수에 액세스하는 동안 여전히 주의해야합니다. 이 유형의 시스템을 사용하면 런타임에 앱에서 NPE가 발생하기가 매우 어렵습니다.

반응형