2021.05.10

“JVM 레코드, 실드 인터페이스 안정화”··· 코틀린 1.5.0 정식 출시

Paul Krill | InfoWorld
젯브레인(JetBrains)에서 개발한 정적 타입 언어의 최신 버전 ‘코틀린 1.5.0’이 프로덕션 릴리즈로 출시됐다. 이번 릴리즈에서는 JVM 레코드(JVM records), 실드 인터페이스(sealed interfaces) 등이 안정적으로 지원된다. 
 
ⓒGetty Images

회사에 따르면 코틀린 1.5.0에서는 JVM 레코드 지원을 통해 최신 자바 기능인 레코드 클래스와의 상호 운용성을 유지한다. 레코드는 불변 데이터를 투명하게 전달하는 클래스이며, 이때 레코드는 명목상의 튜플(nominal tuples) 역할을 한다.

또한 실드 인터페이스를 지원하기 위해 코틀린 1.5.0은 실드 모디파이어(sealed modifier)를 도입했다. 이는 클래스에서 작동하는 방식과 동일하게 인터페이스에서 작동하며, 실드 인터페이스의 모든 구현은 컴파일 시 인식된다고 젯브레인은 전했다. 

코틀린 1.5.0은 이곳(kotlinlang.org)에서 다운로드할 수 있다. 이 밖의 새로운 기능 및 개선사항은 다음과 같다. 

• 컴파일 유닛 및 패키지가 동일하다면 실드 클래스의 하위 클래스가 어느 파일이든 위치할 수 있다. 이전에는 모든 하위 클래스가 실드 클래스와 동일한 파일에 있어야 했다. 

• 인라인 클래스는 값만 포함하는 값 기반 클래스의 하위 집합이다. 이를 메모리 할당 사용으로 인한 추가 오버헤드 없이 특정 유형의 값에 래퍼로 사용할 수 있다. 

• 부호 없는 정수 유형, 부호 없는 정수 유형의 범위 및 형변환, 부호 없는 정수 유형으로 작동하는 함수가 안정화된 API(Stable API)로 제공된다. 

• 코틀린 1.4.0에서 발표됐던 새로운 JVM IR 컴파일러(JVM IR compiler)가 안정화됐으며, 디폴트로 설정됐다. 

java.nio.file.Path용 확장 기능을 통해 자바의 최신 비차단 I/O를 코틀린 관용구 스타일로 사용할 수 있다.

• 문자열 및 문자의 대소문자를 변경하기 위해 로케일에 얽매이지 않는 API가 제공된다. 

• 문자와 정수 코드 및 숫자 값 사이의 명확한 변환을 위한 새로운 함수 세트가 제공된다.

• 테스트 라이브러리에서는 멀티플랫폼 프로젝트에 단일 kotlin-test 종속성이 제공된다. 또 코틀린/JVM 소스 세트에서 테스트 프레임워크를 자동 선택할 수 있다. 어설션 함수도 업데이트됐다.

• 이제 멀티 플랫폼에서 더욱더 많은 Char 함수를 사용할 수 있다. ciokr@idg.co.kr

 



2021.05.10

“JVM 레코드, 실드 인터페이스 안정화”··· 코틀린 1.5.0 정식 출시

Paul Krill | InfoWorld
젯브레인(JetBrains)에서 개발한 정적 타입 언어의 최신 버전 ‘코틀린 1.5.0’이 프로덕션 릴리즈로 출시됐다. 이번 릴리즈에서는 JVM 레코드(JVM records), 실드 인터페이스(sealed interfaces) 등이 안정적으로 지원된다. 
 
ⓒGetty Images

회사에 따르면 코틀린 1.5.0에서는 JVM 레코드 지원을 통해 최신 자바 기능인 레코드 클래스와의 상호 운용성을 유지한다. 레코드는 불변 데이터를 투명하게 전달하는 클래스이며, 이때 레코드는 명목상의 튜플(nominal tuples) 역할을 한다.

또한 실드 인터페이스를 지원하기 위해 코틀린 1.5.0은 실드 모디파이어(sealed modifier)를 도입했다. 이는 클래스에서 작동하는 방식과 동일하게 인터페이스에서 작동하며, 실드 인터페이스의 모든 구현은 컴파일 시 인식된다고 젯브레인은 전했다. 

코틀린 1.5.0은 이곳(kotlinlang.org)에서 다운로드할 수 있다. 이 밖의 새로운 기능 및 개선사항은 다음과 같다. 

• 컴파일 유닛 및 패키지가 동일하다면 실드 클래스의 하위 클래스가 어느 파일이든 위치할 수 있다. 이전에는 모든 하위 클래스가 실드 클래스와 동일한 파일에 있어야 했다. 

• 인라인 클래스는 값만 포함하는 값 기반 클래스의 하위 집합이다. 이를 메모리 할당 사용으로 인한 추가 오버헤드 없이 특정 유형의 값에 래퍼로 사용할 수 있다. 

• 부호 없는 정수 유형, 부호 없는 정수 유형의 범위 및 형변환, 부호 없는 정수 유형으로 작동하는 함수가 안정화된 API(Stable API)로 제공된다. 

• 코틀린 1.4.0에서 발표됐던 새로운 JVM IR 컴파일러(JVM IR compiler)가 안정화됐으며, 디폴트로 설정됐다. 

java.nio.file.Path용 확장 기능을 통해 자바의 최신 비차단 I/O를 코틀린 관용구 스타일로 사용할 수 있다.

• 문자열 및 문자의 대소문자를 변경하기 위해 로케일에 얽매이지 않는 API가 제공된다. 

• 문자와 정수 코드 및 숫자 값 사이의 명확한 변환을 위한 새로운 함수 세트가 제공된다.

• 테스트 라이브러리에서는 멀티플랫폼 프로젝트에 단일 kotlin-test 종속성이 제공된다. 또 코틀린/JVM 소스 세트에서 테스트 프레임워크를 자동 선택할 수 있다. 어설션 함수도 업데이트됐다.

• 이제 멀티 플랫폼에서 더욱더 많은 Char 함수를 사용할 수 있다. ciokr@idg.co.kr

 

X