ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [매일읽기] Working with New Generation of Java
    개발자 라이프/매일읽기 2020. 9. 3. 10:34
    반응형

    원문 : medium.com/swlh/working-with-new-generation-of-java-236e2dc38316

     

    Working with New Generation of Java

    Java is the pioneer programming language that ruled the market from last 20 years and performing well.

    medium.com

    JDK 14에서 추가된 피쳐들을 살펴본다. 피쳐에 관련된 개선된 코드 비교는 원문을 참고하길 바랍니다.

    Try-with-resource statement

    • 기존의 try-catch 문은 자원 해제를 위해 finally 문을 별도로 사용해야 했음
    • try-with-resource는 try 문에 아규먼트 형태로 변수를 초기화하여 사용할 수 있다.
      • 초기화된 변수는 해당 try 문이 종료되면 자동으로 반환된다.

    Switch expressions

    • 기존 switch 문을 이용하여 특정 조건에 대한 분류를 한다면 case 별로 break를 달아줘야 했음
    • 개선된 switch 문에서는 `->`를 이용하여 분류가 가능
      • 코틀린의 `when` 문과 유사

    Intializing with `var`

    • 지역 변수에 대한 타입 추론 기능을 추가
      • 클래스 멤버 변수나 함수의 아규먼트로는 사용 불가
    • `var list = new ArrayList<String>();` 가능
    • 변수 선언과 함께 타입이 정의되어야 함

    Records

    • 기존 클래스를 작성할 때는 `toString()`, `equals()`와 같은 부수적인 코드가 필수적으로 작성되어야 했음
    • 클래스 대신 `record` 로 작성하면 자동적으로 사용 가능
      • getter
      • equals
      • hashCode
      • toString

    Enhanced `instance of `

    • 기존 instance of는 타입 체크만 했을 뿐, 타입 캐스팅을 별도로 해야 했음
    • 개선된 instance of는 타입 체크와 함께, 타입 캐스팅된 변수 선언이 동시에 가능

    Text Blocks

    • 멀티 라인 문자열에 대한 삼중 따옴표 (""") 지원

    Meaningful NPE messages

    • 기존 NPE 메시지는 예외가 발생한 라인만 알려줌
      • 같은 라인에 여러 호출이 담겨있으면 어디서 발생했는지 알 수 없음
    • JVM `-XX:+ShowCodeDetailsInExceptionMessages` 옵션을 통해 자세한 NPE 발생 위치를 확인할 수 있음

    읽고 나서

    • 코틀린과 유사한 부분이 많다
    • 자바가 부리나케 따라가는 거 같은데, open jdk 시장과 코틀린 사이의 차이점이 점점 모호해질 수도 있겠다
    반응형

    댓글

Designed by Tistory.