Offcanvas

애플리케이션

자바 9의 모토는 '이행성'··· "모듈 간 의존성 이해·대응"

2016.03.21 Paul Krill  |  InfoWorld
자바의 모듈화(modularization) 기능이 플랫폼에 따라 변경된다. 아직 정식 공개까지 1년 남았으므로, 개발자가 준비해야 할 시간은 충분한 셈이다.


이미지 출처 : flickr/trophygeek

직소(Jigsaw) 프로젝트에 기반을 둔 자바 모듈화가 2017년 3월에 공개될 예정인 자바 SE 개발 키트 9에서 도입된다. 오라클 자바 플랫폼 그룹의 알렉스 버클리는 최근 미국 실리콘 밸리에서 열린 자바 사용자 그룹 미팅에서 "JDK 8의 모토가 '편리함'이라며 JDK 9는 '이행성'"이라고 말했다. 이 새로운 표어는 최신 JDK가 여러 모듈을 관통하는 의존관계를 이해한다는 것을 의미한다. 컴파일하거나 실행할 때 이러한 '이행적' 의존성을 해결하는 작업을 처리한다.

버클리는 "모듈은 대부분 프로그램의 외형에 대한 것이지만 우리는 클래스와 패키지에서 시작해 더 크게 확장했다"며 "모듈은 컴파일링, 테스팅, 패키징, 배포, 실행 등 개발의 모든 과정에 영향을 주므로, 람다(lambdas) 같은 기능보다 툴 생태계와 더 깊이 연결돼 있다"고 말했다. 람다와 기능적 프로그래밍은 2014년 3월에 나온 JDK 8부터 지원되기 시작했다.

버클리는 "믿을지 모르겠지만, 모듈 시스템은 개념적으로 단순하다"며 "JDK 9에서 기존 코드를 바꿔야 하는 변화는 없지만, 그동안 개발자가 의존해 온 코드는 변화가 있을 것"이라고 말했다. 그는 예를 들어 sun.misc 패키지는 축소된다고 덧붙였다.

직소는 자바의 확장성과 관리성, 성능을 향상하기 위한 프로젝트다. 오라클 자바 플랫폼 그룹의 수석 아키텍트 마크 레인홀드는 최근 이 프로젝트의 구체적인 목표를 제시했다. '불안정하고 에러가 많았던' 클래스 패스 메커니즘을 대체하는 신뢰성 있는 설정을 제공하고, 컴포넌트가 자신의 퍼블릭 형식(public types)에 다른 컴포넌트가 접근하도록 선언할 수 있는 강력한 캡슐화(encapsulation)를 제공하는 것 등이다.

한편 자바의 모듈화는 그동안 여러 차례 지연됐다. 본래 자바 8에 포함될 예정이었지만 결국 빠졌고, 자바 9는 그 발표 자체가 2017년 3월로 6개월 연기됐다. 단, JDK 9 용 얼리 액세스(early-access) 바이너리는 지금도 사용할 수 있다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국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.