Java 버전별 차이점

윤성모·2025년 2월 10일

주목해야 할 Java 버전

Java에는 많은 버전이 존재하지만, 각 버전마다 특징이 다르다. 이 중에서도 특히 많이 사용되는 버전은 8, 11, 17, 21이다.

이 버전들은 LTS(Long Term Support) 버전으로 분류되어 장기간 동안 안정적인 지원을 받을 수 있다. 따라서 장기적으로 프로젝트를 관리할 수 있고, 안정성을 보장받을 수 있어서 실무에서 많이 사용한다.

Java 8,11,17,21 버전별 특징

Java 8 (2014.03)

Java 8은 가장 오랫동안 사용되고 현재도 많이 사용 중인 버전이다.

  • 주요한 업데이트 내용
    1. Lamda표현식
    2. Stream API
    3. 인터페이스의 Default & Static 메서드
    4. Functional Interface

Java 11 (2018.09)

  • 주요한 업데이트 내용
    1. var 키워드 지원
    2. String 클래스 개선
    3. Files 클래스 개선
    4. HTTP Client 표준화 (비동기 지원)
    5. Oracle JDK와 OpenJDK 통합

Java 17 (2021.09)

  • 주요한 업데이트 내용
    1. switch문에서 Pattern/Matcher 활용 가능
    2. Records (불변 데이터 클래스 정의)
    3. Text Block(여러줄 문자열을 깔끔하게 작성하는 기능)
    4. Sealed Class 기능 완성

Java 21 (2023.09)

  • 주요한 업데이트 내용
    1. Virtual Threads (정식 기능) → 수백만 개의 가벼운 스레드 생성 가능
    2. Structured Concurrency → 병렬 작업 관리를 단순화
    3. Record Patterns (정식 기능) → instanceof와 함께 패턴 매칭 지원
    4. Sequenced Collections → List, Set, Map의 순서 보장 인터페이스 추가

추가적인 내용

  • Java 9 : Optional에 ifPresentOrElse 추가 기능 / 인터페이스에 private method 사용 가능

  • Java 14 : switch문 표현식 표준화 / NullPointerException(어떤 변수가 null인지 설명하는 기능 추가)

int codeToNumber = switch (code) {
    case Mon -> 1;
    case Tue -> 2;
    case Wed -> 3;
    case Thu -> 4;
    case Fri -> 5;
    case Sat -> 6;
    case Sun -> 7;
    default -> 0;
};

마무리

업데이트 내용은 작성한 내용보다 많지만 간단하게 정리하면 위와 같다.
Java는 하위호환성이 매우 높다. 높은 버전에서 이전 버전의 내용을 거의 다 지원하기 때문에 낮은 버전부터 차근차근 공부해나가면 기초를 쌓기 더 좋을 것이라고 생각한다.

profile
Java / Spring 개발 공부 일지

0개의 댓글