Neopfish.log
로그인
Neopfish.log
로그인
[Kotlin Docs 번역] 자바와의 비교 (Comparison to Java)
정지현
·
2022년 7월 17일
팔로우
0
Comparison to java
JVM
Java
kotlin
platform
0
코틀린(Kotlin) 공식 도큐먼트 번역 (Platform/JVM 파트)
목록 보기
2/2
*
코틀린 공식 도큐먼트 - Comparison to Java
를 번역한 글입니다.
* 2022년 07월 16일 기준으로 작성되었으며, 약간의 의역이 존재합니다.
코틀린은 기존 자바의 문제들을 해결함
코틀린(Kotlin)은 자바에서 겪을 수 있는 여러 문제들을 해결했습니다.
Null 값 참조는 이제
타입 시스템
에 의해 제어됩니다.
Raw 타입의 부재
코틀린에서의
Array 타입은 불변
입니다.
코틀린은 기존 자바의 SAM-Conversions 와 달리,
함수 타입
을 사용할 수 있습니다.
와일드카드(wildcards) 를 사용하지 않는
Use-site variance
코틀린은 자바의 Checked
exception
(확인된 예외 처리) 이 없습니다.
자바가 가지고 있는 것과 코틀린에게는 없는 것
Checked exceptions
(확인된 예외 처리)
클래스가 아닌
원시 자료형
(Primitive types). 바이트 코드(byte-code) 는 컴파일 시(?) 내부적으로 가능하다면 원시 자료형으로 변환하여 사용하지만, 코틀린 상에서 명시적으로는 사용할 수 없습니다. (의역 - The byte-code uses primitives where possible, but they are not explicitly available.)
기존 자바에서
Static members
의 활용은 코틀린에서는
companion object
,
Top-level function
,
extension function
또는
@JvmStatic
으로 대체되었습니다.
와일드카드 타입
(Wildcard-types) 는
Declaration-site variance
와
type projection
으로 대체되었습니다.
코틀린에서
삼항 연산자(Ternary operator)인 a ? b : c
는
if 문
으로 대체되었습니다.
코틀린은 가지고 있지만 자바는 아닌 것들
람다(Lambda) 함수
+
인라인(Inline) 함수
= 좋은 성능 보장이 가능한 구조 (의역 - performant custom control structures)
확장 함수(Extension function)
Null-safety
스마트 캐스트(Smart cast)
문자열 템플릿(String template)
프로퍼티(Property)
주 생성자(Primary constructor)
일급 객체 위임(First-class delegation)
변수와 프로퍼티 타입을 위한 타입 추론(Type inference for variable and property types)
싱글톤(Singleton)
선언-위치 가변 & 타입 프로젝션(Declaration-site variance & Type projections)
범위 표현식(Range expression)
연산자 오버로딩(Operator overloading)
컴패니언 객체(Companion object)
데이터 클래스(Data lcass)
읽기 전용과 가변 컬렉션을 위한 인터페이스(Separate interfaces for read-only and mutable collections)
코루틴(Coroutine)
그 다음은?
자바와 코틀린 환경에서 문자열(String)에 대한 일반적인 로직
방법에 대해 알아보세요.
정지현
나를 성장시키는 좌절에 감사하고 즐기려고 노력 중
팔로우
이전 포스트
[Kotlin Docs 번역] Kotlin/JVM 시작하기 (Get started with Kotlin/JVM)
0개의 댓글
댓글 작성