자바 12,13,14

のの·2020년 12월 25일

자바 12


  • 스위치 문장 개선

    • 스위치 문장이 개선되었다. 조건 문장(case)에 패턴 형태로 정의할 수 있는 문법이 추가되었고 기존과 다르게 break 문을 사용하지 않아도 자동 종료된다. 특히 조건 문장을 람다 표현식 형태로 작성할 수 있게 되었다. break 키워드에는 문장을 종료하는 것 외에 특정한 문자열을 리턴하는 기능을 추가했다.
      그동안 선택 사항이던 default 문장이 새로운 스위치 문장에는 반드시 추가해야 하는 필수 사항이 되었고 생략할 경우 컴파일 에러가 발생한다.
  • 파일 비교

    • 파일 NIO의 Files에 두 개의 파일의 일치 여부를 확인하는 메서드가 추가되었다.

자바 13


  • 스위치 문장 개선

    • 자바 12에 소개된 새로운 스위치 문장에 기능을 추가했다. break 대신 yield 키워드를 사용하도록 변경했고 하나의 조건(case)에 여러 개의 문장을 작성할 수 있게 되었다.
  • 텍스트 블록

    • 여러 줄에 걸쳐서 문자열을 작성하기 위해서는 StringBuilder를 이용하거나 + 기호로 문자열을 연결하는 작업을 해야 하지만 텍스트 블록을 이용하면 그러한 수고 없이 코딩이 가능하다.
      원하는 블록을 """로 감싸면 문자열 사이에 케리지 리턴 값이 있더라도 하나의 문장으로 작성할 수 있다. 이것을 처리하기 위해 String 클래스도 변경했다.

자바 14


  • 스위치 문장

    • 자바 12와 13에 걸쳐 초안 형태로 새롭게 소개된 스위치 문장의 개선된 내용이 자바 14에서 정식으로 추가되었다.
      정식 버전으로 추가되었다는 것을 제외하면 자바 13의 기능과 차이는 없다.
  • instanceof 개선(초안)

    • 객체의 유형을 확인하기 위한 instanceof 문법에 패턴으로 판단할 수 있는 기능이 추가되었다.
  • record 키워드 추가

    • 데이터를 저장하고 표현하기 위해 getter와 setter 메서드를 생성하고
      equals와 hashCode 등의 메서드를 구현하였지만 record 키워드를 이용해서 데이터를 저장하면 컴파일러가 자동으로 해당 기능을 추가해준다. 이 기능을 이용하면 VO(Value Object)와 같은 데이터 정의 목적의 클래스 선언이 쉽고 빨라진다.
profile
wannabe developer

0개의 댓글