[What] JAVA17

BAMDAL.Dev·2024년 3월 2일
0

What

목록 보기
5/5

JAVA17

1. 텍스트 블록

기존 JSON 문자열을 직접 생성할 때 불편했던 부분을 블록 처리로 편리하게 생성 가능하다.

2. Switch 표현식이 변경 되어졌다.

기존의 switch의 경우 break 문 누락의 이슈와 가독성의 문제를 해결 하였다.

3. Record 추가

롬복의 여러 기능을 Record를 사용하여 구현 가능하다.
롬복 버전의 종속성이 생기는 경우를 개선 진행 하였다.
Record로 선언 되어져 있는 클래스의 경우 불변 객체가 보장되어진다. (final 클래스로 프록시 객체 생성이 안되어진다는 점을 명심 해야한다.)

4. Instanceof 변수 생성 가능

instanceof 체크 시 변수 생성이 가능하여 새로운 변수를 생성하여 캐스팅을 할 필요가 없어졌다.

5. Stream toList() 추가

Stream에서 List로 변환 진행 할 때 Collectors.toList()를 호출 하지 않아도 된다.

6. Compact number format

숫자 포맷을 지역에 맞게 지정하여 해당 단위로 나타낼 수 있어졌다.

7. sealed class

sealed class 는 이름 그대로 클래스를 안전을 위해 감추는 기능을 합니다.
sealed 키워드로 클래스를 정의하면 permits 키워드 이후의 명시된 클래스 이외에는 확장할 수 없습니다.
즉, 어떤 클래스가 해당클래스를 상속받는지를 쉽게 알수 있고 제한할수 있습니다.


추가적으로
final class의 경우 모든 클래스도 상속 할 수 없습니다.
non-sealed class의 경우 모든 클래스를 상속 할 수 있습니다.

8. 암호화 업데이트

자바 17에서는 암호화와 보안 관련 업데이트가 이루어졌다.
암호화 알고리즘과 보안 기능의 업데이트로 애플리케이션의 보안성이 향상되었다.

9. 성능 개선

향상된 JIT 컴파일, 메모리 사용량 감소, GC 효율성 향상등 성능 최적화가 포함되어져, 자바 어플리케이션 속도를 향상 가능하다.

코드는 여기서

profile
궁금증을 가지며 코딩하는 개발JA 주니어🐻

0개의 댓글