자바(Java)는 1995년 5월 23일 Sun Microsystems가 공식 발표한 프로그래밍 언어다. James Gosling을 중심으로 한 팀에 의해 개발되었으며, “한 번 작성하면 어디든 실행된다(Write Once, Run Anywhere, WORA)”는 철학으로 출발했다.

초기 개발 (1991-1995)

자바의 전신은 “Oak”라는 프로젝트명으로 진행되었다. Sun의 연구원들은 1991년부터 임베디드 시스템과 가전기기 제어용 언어를 개발 중이었다. 이 시기에 가상 머신 개념이 핵심 아이디어로 떠올랐는데, 이것이 오늘날의 JVM(Java Virtual Machine)의 시작이다.

초기 자바 시대 (1996-2000)

JDK 1.0이 1996년 1월 발표되면서 자바는 본격적으로 세상에 나왔다. 초기 자바는 주로 웹 애플릿(applet) 기술로 주목받았다. 당시 웹 브라우저에서 실행되는 동적 콘텐츠를 제공하는 기술은 획기적이었다.

1998년에는 Java 2(J2SE - Java 2 Platform, Standard Edition)가 출시되어, 보다 완성도 있는 표준 라이브러리와 기능들이 추가되었다.

황금기 (2004-2010)

Java 5(2004)는 언어에 제네릭(Generics), 향상된 for 루프, 오토박싱 등 현대적 기능을 도입했다. 이 버전은 자바의 생산성을 크게 높였다.

Java 6(2006)는 성능 개선에 중점을 두었고, 이 시기 자바는 엔터프라이즈 애플리케이션의 표준 언어로 자리잡았다.

변화의 시기 (2011-2017)

Java 7(2011)은 Project Coin을 통해 다이아몬드 연산자, try-with-resources 문법 등을 추가했다.

가장 중요한 변곡점은 Java 8(2014)이었다. 람다 식(Lambda Expressions)과 함수형 프로그래밍 패러다임 도입으로 자바는 현대적 언어로의 진화를 가속화했다.

현대 자바 (Java 9 이후)

Java 9(2017) 이후 Oracle은 6개월 릴리스 사이클로 전환했다. 이를 통해:

  • Java 11(2018): LTS(Long Term Support) 버전, 모듈 시스템 안정화
  • Java 17(2021): LTS 버전, 레코드(Records) 및 sealed 클래스
  • Java 21(2023): LTS 버전, 가상 스레드(Virtual Threads) 도입

핵심 특징의 진화

시기 주요 특징
1.0-1.4 기본 OOP, 스레드, 예외 처리
5.0 제네릭, 오토박싱, for-each
8 람다, 스트림 API
11 모듈, var 키워드
17+ 레코드, 패턴 매칭, 가상 스레드

현재와 미래

2026년 현재 자바는 여전히 가장 인기 있는 엔터프라이즈 언어 중 하나다. JVM 생태계는 Kotlin, Scala, Groovy 등 다양한 언어를 지원하며, Spring Boot, Quarkus 같은 프레임워크는 현대적 개발 경험을 제공한다.

가상 스레드, 구조화된 동시성(Structured Concurrency), 패턴 매칭 등 진행 중인 개선들은 자바가 여전히 발전 중임을 보여준다.


References