기술지원 문의는 로그인 후에 가능합니다.

확인

Tech Blog

단군소프트에서 제공하는 소프트웨어 활용에 도움을 줄 수 있는 정보와 소프트웨어 새소식, 교육/세미나 정보를 제공해드립니다.

태그 모음

소프트웨어 소식

Kotlin 1.5.20이 출시되었습니다.

21-07-28

안녕하세요 JetBrains 한국 총판 단군소프트입니다.

오늘은 Kotlin 업데이트 소식을 소개드립니다. Kotlin의 가장 큰 변신은!! 최신 JVM 기능을 활용하도록 Kotlin은 동적 호출(invokedynamic)의 사용을 확장했습니다. 자세한 내용을 아래에서 살펴보세요!


Kotlin 업데이트 내용

- 지속적인 동적 호출과 같은 최신 Java 기능을 도입
- Java의 Lombok 및 JSpecify에 대한 지원을 추가
- Java와의 상호 운용성을 개선


또한 플랫폼 전반에 걸쳐 표준 라이브러리의 일관성을 높이고 Gradle 도구 및 새로운 JS IR 백엔드에 투자하는 노력도 지속적으로 기울이고 있습니다.


Kotlin 1.5.20 새로운 기능을 소개합니다.

- invokedynamic을 통한 문자열 연결 및 Java의 Lombok 생성 메서드와 JSpecify nullness 어노테이션 호출에 대한 실험적 지원을 포함한 Kotlin/JVM 개선 사항.
- KDoc 주석을 Objective-C 헤더로 내보내는 실험적 기능을 포함한 Kotlin/Native 개선 사항.
- Kotlin/JS IR 백엔드 마이그레이션 가이드.
- Kotlin 작업의 병렬 실행을 포함한 Gradle 개선 사항.
- 플랫폼 간에 Char 변환 동작을 적합하게 조정하기 위한 표준 라이브러리 개선 사항.



Kotlin 1.5.20으로 자동업데이트

IntelliJ IDEA 또는 Android Studio를 사용하는 경우, IDE에서 Kotlin의 새 릴리스가 출시되는 즉시 자동으로 업데이트할 수 있는 옵션을 제공합니다.



Kotlin/JVM

Java와 최상의 상호 운용성을 유지하기 위해 Kotlin 1.5.20은 다음에 대한 실험적 지원을 제공합니다.


Kotlin 1.5.0에서는 SAM 어댑터 컴파일을 기본 지원하고 문자열 연결 및 람다에 대해 유사한 기능을 실험적으로 유지했습니다.
Kotlin 1.5.20에서는 동적 호출에 대한 컴파일 문자열 연결 기능도 디폴트로 제공됩니다.


- 동일한 모듈 내에서 Java의 Lombok생성 메서드 호출. 실험 단계인 Lombok 컴파일러 플러그인을 사용하면 혼합된 Kotlin/Java 소스에서 Java의 Lombok 생성 선언을 사용할 수 있습니다. Lombok 어노테이션은 Java 소스에서만 작동하며 Kotlin 코드에서 사용하는 경우 무시됩니다.
지원되는 어노테이션에는 @With, @Data, @Getter, @Setter, @NoArgsConstructor, @RequiredArgsConstructor 및 @AllArgsConstructor가 포함됩니다.

- Java nullness 어노테이션의 표준 통합 세트를 포함하는 JSpecify 프로젝트.. 이를 통해 Java와 상호 운용될 때 Kotlin이 null 안전성을 더 용이하게 유지하도록 더 상세한 null 값 가능성 정보를 제공할 수 있습니다. 선언, 패키지 또는 모듈 범위에 대한 기본 null 값 가능성을 설정하고 매개변수 null 값 가능성 등을 지정할 수 있습니다. JSpecify 프로젝트는 현재 활발히 개발 중입니다. API 및 구현은 언제든지 크게 변경될 수 있습니다.


다음은 Kotlin이 JSpecify 어노테이션을 처리하는 방식을 보여주는 예입니다.



더 자세한 내용은 아래에서 확인해보세요!





업데이트에는 많은 외부기여자님들께서 풀 리퀘스트를 제공해주신 덕입니다. 다시한번 감사의 마음을 전합니다.
앞으로 많은 의견과 관심이 저희 JetBrains의 발전에 큰 힘이 될 것입니다. :)


긴글 읽어주셔서 감사합니다.

또 업데이트 된 사항으로 다시 찾아뵙겠습니다.

감사합니다.

태그