공식 발표

오라클, 자바23 발표

신규 릴리스, 자바 언어 개선으로 개발자 생산성 높여주는 12개의 JDK 개선 제안 제공

플랫폼 성능, 안정성 및 보안 향상으로 기업의 비즈니스 성장 가속화 지원

자바 관리 서비스 9.0 및 그랄 JIT 컴파일러, 기업의 자바 애플리케이션 관리 및 최고 성능 향상 지원

Austin, Texas—2024년 9월 24일
Java

오라클이 세계 1위 프로그래밍 언어이자 개발 플랫폼인 자바의 최신 버전 자바 23(Java 23)을 출시했다. 자바 23(오라클 JDK 23)은 개발자 생산성을 개선하고 혁신을 추진하기 위한 수천 가지 개선 사항을 제공한다. 또한, 플랫폼 성능, 안정성 및 보안이 향상되어 기업의 비즈니스 성장 가속화를 지원한다.

아르날 다야라트나(Arnal Dayaratna) IDC 소프트웨어 개발 담당 연구 부사장은 “자바는 점점 더 다양해지는 기업의 최신 애플리케이션 개발 요구를 지원하기 위해 진화를 거듭하고 있다.”면서 “신규 릴리스는 개발자가 툴셋을 확장해 생산성을 개선할 수 있도록 지원하며, AI 등 혁신 기술을 활용하는 애플리케이션의 구축 및 제공이 가능하다. 자바는 6개월마다 새로운 혁신 기능을 제공하여 개발 팀이 기업에 의미 있는 기여를 할 수 있도록 지속적으로 돕고 있다.”고 말했다.

자바 23은 개발자를 위해 추가된 새로운 개선 사항 및 기능에 더해 기업에도 상당한 가치를 제공한다. 예를 들면, 자바 23은 자바 관리 서비스(Java Management Service, JMS) 9.0의 최신 GA에서 지원된다. 오라클 클라우드 인프라스트럭처(OCI) 네이티브 서비스인 JMS 9.0은 통합 콘솔 및 대시보드를 제공하여 온프레미스(사내구축형) 혹은 클라우드 환경에서 자바 런타임 및 애플리케이션을 관리할 수 있다. JMS 9.0은 이외에도 다양한 사용성 개선 사항을 제공하며, 그랄(Graal) 컴파일러가 추가된 오라클 JDK 23는 최고 성능의 미세 조정 및 개선을 위한 더 많은 옵션을 제공한다. 그랄 컴파일러는 바이트코드를 최적화된 머신 코드로 변환해 주는, 자바로 작성된 동적 JIT(Just-In-Time) 컴파일러다.

조지 사브(Georges Saab) 오라클 자바 플랫폼 부문 수석 부사장 겸 오픈JDK(OpenJDK) 이사회 의장은 “자바 23에 추가된 새로운 기능들은 모든 수준의 개발자가 생산성을 높이고, 안전하며 확장 가능한 고성능 애플리케이션을 간단히 개발할 수 있도록 도와준다.”면서 “자바 23은 개발자의 애플리케이션 구축 및 제공 속도와 효율성을 높이기 위해 설계된 광범위한 신기능 및 도구들을 통해 개발 팀과 그들이 속한 조직이 혁신을 주도하고 비즈니스 성장을 촉진할 수 있도록 지원한다.”고 설명했다.

자바 23은 자바 언어, 런타임, 라이브러리, 자바 개발 키트(JDK)에 포함된 도구 전반에 대한 개선 및 기능 향상을 제공한다. 자바 23의 주요 업데이트는 다음과 같다.

프로젝트 앰버(Project Amber)를 통한 언어 기능

  • JEP 455: 패턴, 인스턴스오브(instanceof), 스위치의 기본 타입(미리보기): 언어를 더욱 일관되고 표현력 있게 만들어 자바 프로그래밍 생산성 향상을 지원한다. 패턴 매칭, 인스턴스오브, 스위치 사용 시 개발자가 직면하는 기본 유형 관련 제한 사항을 제거하고, 모든 패턴 컨텍스트에 대해 기본 유형 패턴을 허용하여 패턴 매칭을 개선한다. 또한 인스턴스오브 및 스위치를 확장해 모든 기본 유형과 호환될 수 있도록 한다.
  • JEP 476: 모듈 가져오기 선언(미리보기): 모듈이 내보내는 모든 패키지를 개발자가 신속하고 손쉽게 가져올 수 있도록 지원해 개발자 생산성을 개선한다. 이때 모듈 자체에 코드를 가져올 필요가 없다. 이 기능은 모든 개발자가 모듈러 라이브러리를 간편하게 재사용할 수 있도록 하며, 초보자의 경우 패키지 계층 내 각각의 위치를 익히지 않고도 서드파티 라이브러리와 기본 자바 클래스를 쉽게 사용할 수 있다.
  • JEP 477: 암시적으로 선언된 클래스 및 인스턴스 메인 메서드(세 번째 미리보기): 학생들이 대규모 프로그램 개발을 위해 설계된 언어 기능을 이해할 필요 없이 첫 자바 프로그램을 작성할 수 있도록 하여 자바 프로그래밍 진입 장벽을 낮추고 학습 및 기술 개발을 원활하게 해 준다. 이를 통해 교육자는 점진적인 방식으로 관련 개념을 소개할 수 있고, 학생은 먼저 단일 클래스 프로그램에 대한 간소화된 선언을 작성한 후 프로그래밍 실력이 성장함에 따라 보다 고급 기능을 사용해 프로그램을 원활하게 확장할 수 있다. 숙련된 자바 개발자들 역시 대규모 프로젝트를 위해 설계된 도구를 사용하지 않고도 소규모 프로그램을 간결하게 작성할 수 있다.
  • JEP 482: 유연한 생성자 본문(두 번째 미리보기): 명시적인 생성자 호출 super(..), this(..) 등의 앞에 명령문이 나타나게해 개발자 생산성을 높여준다. 명령문은 생성 중인 인스턴스를 참조할 수 없지만 다른 생성자를 호출하기 전에 해당 필드를 초기화할 수 있다. 이 과정은 메서드가 재정의될 때 클래스의 안정성을 향상시킨다. 이를 통해 개발자는 생성자의 동작을 보다 자유롭게 표현할 수 있으며, 클래스 인스턴스화 중에 생성자가 하향순으로 실행된다는 기존 보장도 유지할 수 있다.

라이브러리

  • JEP 466: 클래스-파일 API(두 번째 미리보기): 자바 클래스 파일의 구문 분석(parsing), 생성, 변환용 표준 API를 제공하여 개발자의 생산성 향상에 도움을 준다.
  • JEP 469: 벡터 API(8차 인큐베이터): 지원되는 CPU 아키텍처에서 벡터 명령어로 런타임에 안정적으로 컴파일되는 벡터 계산을 표현하는 API를 도입하여 개발자의 생산성을 향상시킨다. 그 결과, 개발자는 동등한 스칼라 계산보다 우수한 성능을 달성할 수 있다.
  • JEP 473: 스트림 수집기(두 번째 미리보기): 스트림 API를 개선해 스트림 파이프라인이 기존의 내장형 중간 연산으로는 달성하기 어려운 방식으로 데이터를 변환할 수 있는 커스텀 중간 연산을 지원하고 개발자의 생산성 향상에 기여한다. 이 기능은 스트림 파이프라인을 더욱 유연하고 표현하기 쉽게 만들고, 커스텀 중간 연산을 통해 무한한 용량의 스트림을 조작할 수 있도록 해 개발자가 보다 효율적으로 자바 코드를 읽고, 쓰며 유지 관리할 수 있도록 한다.
  • JEP 480: 구조화된 동시성(세 번째 미리보기): 구조화된 동시성을 위한 새로운 API를 통해 동시 프로그래밍을 간소화하여 개발자가 동시성 코드의 유지관리 용이성, 안정성, 관찰 가능성을 개선할 수 있도록 한다. 구조화된 동시성은 다양한 스레드에서 실행되는 관련 작업 그룹을 단일 작업 단위로 통합하여 스레드 유출 및 취소 지연 등 취소 및 종료로 인해 발생하는 일반적인 위험을 제거한다.
  • JEP 481: 범위가 지정된 값(세 번째 미리보기): 스레드 내 또는 스레드 간에 변경 불가능한 데이터를 공유할 수 있도록 지원하여 개발자 프로젝트의 사용 편의성, 이해 가능성, 성능, 견고성을 향상시킨다.

성능 및 런타임 업데이트

  • JEP 474: ZGC: 세대별 모드를 기본 모드로 전환: 개발자가Z 가비지 컬렉터(ZGC) 모드의 기본 모드를 세대별 모드로 전환하여 효율성을 높일 수 있도록 지원한다. 모드 전환으로 두 개의 다른 모드 지원에 필요한 리소스 및 유지 관리 비용을 줄일 수 있다.

도구

  • JEP 467: 마크다운 문서화 주석: 자바독(Javadoc) 문서화 주석을 HTML 및 자바독 @-태그로만 작성하는 대신 마크다운(Markdown)으로 작성할 수 있게 해 개발자의 효율성과 생산성을 높여준다. 마크다운 문법을 문서화 주석에 사용할 수 있게 됨으로써, 개발자는 API 문서화 주석을 소스 형태로 더 쉽게 작성하고 읽을 수 있으며, 기존 문서화 주석의 해석에 부정적인 영향을 미치지 않는다.

스튜어드십(Stewardship)

  • JEP 471: 향후 삭제를 위한 sun.misc.unsafe의 메모리 접근 메서드 제거: 향후 릴리스에서 제거될 예정인 sun.misc.unsafe의 메모리 접근 메서드에 애플리케이션이 직간접적으로 의존하는 지점을 파악하여 개발자에게 간소화된 툴셋을 제공한다.

자바 23 릴리스의 기능은 오라클과 전 세계 자바 개발자 커뮤니티가 오픈JDK 및 자바 커뮤니티 프로세스(JCP)를 통해 지속적으로 긴밀하게 협업한 성과다. 자바 23의 신기능에 대한 보다 자세한 정보는 자바 23 기술 블로그 게시물에서 확인할 수 있다.

클라우드 혁신으로 전 세계 자바 생태계 지원

자바 23을 지원하는 최초의 하이퍼스케일 클라우드 중 하나인 OCI에 자바 애플리케이션을 배포하면 더욱 향상된 성능과 효율성, 비용 절감 효과 및 혁신을 누릴 수 있다. 자바 23은 오라클 자바 SE(Oracle Java SE), 오라클 그랄VM(Oracle GraalVM), 자바 SE 구독 엔터프라이즈 퍼포먼스 팩(Java SE Subscription Enterprise Performance Pack)을 추가 비용 없이 OCI를 통해 제공하며, 개발자가 더욱 빠르고 매끄럽게 실행되는 애플리케이션을 최적화된 비용 대비 성능으로 구축 및 배포할 수 있도록 지원한다.

오라클 자바 유니버설 SE 구독(Oracle Java Universal SE Subscription) 프로그램은 업계 최고의 고객 지원을 제공하는 서비스다. 여기에는 전체 자바 포트폴리오에 대한 우선순위 분류 기반 지원, 오라클 그랄VM 사용 권한, 자바 SE 구독 엔터프라이즈 퍼포먼스 팩, JMS의 고급 기능 접근 권한, 기업의 비즈니스 현황을 반영한 업그레이드 유연성 등이 포함된다. 이 서비스는 IT 기업의 복잡성 관리, 보안 위험 완화, 비용 절감에 도움을 준다.

오라클은 최근 개최된 오라클 클라우드월드(Oracle CloudWorld)에서 오라클 코드 어시스트(Oracle Code Assist)가 자바용으로 가장 먼저 최적화될 것이라고 발표했다. 오라클 코드 어시스트는 자바 애플리케이션의 구축을 손쉽게 만들어 주는 AI 코딩 동반 툴이며, OCI에서 실행되는 오라클 코드 어시스트 서비스는 C, C++, 고(Go), 자바스크립트(JavaScript), PL/SQL, 파이썬(Python), 루비(Ruby), 러스트(Rust)에서도 곧 이용할 수 있다.

2025년 자바원(JavaOne) 행사 재개

2025년 샌프란시스코 베이 지역에서 글로벌 자바 커뮤니티를 위한 대표적인 행사인 자바원이 다시 개최될 예정이다. 2025년 3월 18일부터 20일(현지 시각)까지 캘리포니아 레드우드 쇼어(Redwood Shores)에서 진행되는 자바원 2025는 자바 관련 최신 소식을 직접 듣고 오라클의 자바 전문가 및 업계 권위자들과 교류할 수 있는 기회이다. 더 자세한 내용은 인사이드 자바(Inside Java) 블로그 포스트를 통해 확인할 수 있으며, 자바원에서 발표를 희망하는 경우 관련 오라클 웹페이지에서 신청할 수 있다.

인용문

애자일 디벨로퍼(Agile Developer, Inc.)의 벤캇 수브라마니안(Venkat Subramanian) 회장은 “애자일 개발은 피드백 루프를 통한 고객의 요구사항에 부합하는 데 도움을 주며, 자바는 개발자에게 필요한 민첩성을 제공한다.”며 “자바 23의 수많은 유용한 기능들 중 특히 스트림 수집기의 발전이 인상적이다. 기능적 코드 개발 파이프라인에 커스텀 단계를 생성할 수 있게 해 주는 대단히 유용한 기능으로, 덕분에 특정 비즈니스 요구 사항을 효과적으로 타겟팅할 수 있다.”고 말했다.

드루 대학교(Drew University)의 베리 버드(Barry Burd) 교수는 “자바 23의 암시적으로 선언된 클래스 미리보기(Implicitly Declared Classes preview) 기능을 사용해 저서인 자바 입문서를 개정하고 있다. 저자이자 교육자로서 이와 같은 기능은 큰 도움이 된다.”면서 “이전 에디션의 장황한 코드 대부분이 사라지고 있다. 덕분에 학생들은 보일러플레이트 텍스트 사이를 헤메는 대신 필수적인 논리에만 집중할 수 있게 됐다. 또한 암시적으로 선언된 클래스 및 인스턴스의 주요 메서드를 사용해 교과서에 실린 코드 예제들을 간소화할 수 있어 다른 흥미로운 자바 개념들을 추가로 실을 수 있게 되었다. 학생들에게 자바 23으로 프로그래밍을 가르칠 수 있어 기쁘다.”라고 설명했다.

젯브레인(JetBrains)의 자바 개발자 옹호자(Java developer advocate)인 말라 굽타(Mala Gupta)는 “젯브레인에서는 새로운 자바 기능이 프로덕션 환경에 출시되기도 전에 개발자가 인텔리제이 IDEA(IntelliJ IDEA)에서 이 기능들을 사용 및 채택할 수 있도록 지원하기 위해 노력한다. 이는 IDE의 자바 23지원에도 해당된다.”면서 “인텔리제이 IDEA 2024.2(IntelliJ IDEA 2024.2)는 개발자가 패턴, 암시적으로 선언된 클래스, 유연한 생성자 본문, 마크다운 문서화 주석 등 자바 23의 혁신적인 신기능을 손쉽게 활용할 수 있게 해 준다.”고 말했다.

자바 및 자바의 글로벌 에코시스템에 대한 자세한 내용은 아래에서 찾아볼 수 있다.

추가 자료

문의처

백영훈 상무

오주연 실장 / 유지우 대리

한국오라클 홍보 담당 이오스커뮤니케이션스

오라클 소개

오라클은 완전한 통합 애플리케이션 제품군과 보안 역량, 자율운영 기술 기반의 오라클 클라우드 인프라스트럭처를 제공한다. 오라클(NYSE: ORCL)에 관한 자세한 정보는 oracle.com 에서 확인 가능하다.

미래 제품 관련 면책 고지

상기 명시된 내용은 오라클의 일반적인 제품 방향에 대한 개요를 제공하기 위해 작성되었다. 정보 제공용으로만 작성되었으며, 어떤 계약서에도 포함될 수 없다. 본 내용은 그 어떤 자료, 코드, 기능을 제공하겠다는 약속이 아니며, 구매 결정에 활용해서는 안 된다. 오라클 제품의 기능 또는 기능성에 대해 묘사된 개발, 출시, 타이밍, 가격 등은 변경될 수 있으며, 이는 오라클의 단독 재량에 따라 결정된다.

상표

Oracle, Java, MySQL및 NetSuite는 Oracle Corporation의 등록된 상표이다. NetSuite는 클라우드 컴퓨팅의 새로운 시대를 개척한 최초의 클라우드 회사다.