Offcanvas

개발자

“자바에 범용 제네릭 가져온다”··· 오픈JKD 프로젝트 제안

2021.11.11 Paul Krill  |  InfoWorld
‘범용 제네릭(universal generics)’은 자바 유형 변수가 기본형과 참조형을 포괄하도록 하여 다른 유형에서 코드를 쉽게 확장하거나 재사용할 수 있도록 지원한다. 

오픈JDK 제안에 따르면 자바가 (이 언어를) 더 쉽게 사용할 수 있도록 하는 범용 제네릭을 지원할 계획이다. 
 
ⓒGetty Images

범용 제네릭은 오픈JDK 커뮤니티에 올라온 3가지 제안을 통해 제공될 예정이다. 오라클은 이 제안들이 클래스의 유연성과 기본형의 성능을 결합해 자바 언어 및 JVM을 크게 변화시킬 것이라고 말했다. 3가지 JEP(JDK Enhancement Proposals)는 각각 서로 다른 기능을 지원하지만 앞서 언급한 이점을 얻으려면 세 가지 모두가 필요하다. 

이중 핵심은 지난 2월 작성돼 10월 29일 업데이트된 JEP다. 해당 JEP의 내용은 다음과 같다. 자바 유형 변수가 두 유형에 적용될 수 있도록 해 일반 코드에서 참조 및 기본값 유형 처리를 통합한다는 것이다. 

사용자-선언 기본 객체로 자바 객체 모델을 개선한다는 내용의 2번째 JEP는 전제 조건으로 사용된다. 세 번째 JEP는 기본형(int, double 등)을 객체와 통합한다. 이 밖에 추가 JEP를 통해 표준 라이브러리 업데이트를 통한 null 경고 해결, 라이브러리 전문화, JVM에서의 일반 API 런타임 특수화 등을 도입할 계획이다. 

범용 제네릭 계획은 사용자-정의 기본형에서 바로 작동할 수 있도록 제네릭 API가 기본값 유형을 지원하게끔 권장하고 있다. 참조 유형도 지원된다. 이는 궁극적으로 자바 제네릭의 기본 동작이어야 하므로 기본값 유형이 자바 생태계에 완전히 참여할 수 있다고 제안서는 명시하고 있다. 

자바에 범용 제네릭이 지원될 시기는 언급되지 않았다. 이를 구현하기까지는 몇 년이 걸릴 전망이다. 

범용 제네릭은 플랫폼의 기존 제네릭 기능도 확장할 수 있다. 2004년에 도입된 자바 2 플랫폼 스탠다드 에디션 5.0은 언어와 플랫폼에 제네릭을 지원하여 개발자가 컬렉션에 저장하려는 항목을 식별하고, 반복자 유형을 안전하게 만들 수 있도록 했다. 하지만 2004년 제네릭이 반복되면서 개발자는 참조 유형에 대해서만 생성할 수 있었다. 

한편 오늘날 제네릭을 주목하는 프로그래밍 언어는 자바뿐만이 아니다. 구글의 고 언어도 제네릭을 추가할 예정이다. ciokr@idg.co.kr




 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.