자바 8 이후 6개월마다 새로운 버전이 Release 되면서 어떤 변화와 개선이 있는지 확인하는 것도 버겁다. 익숙해질만하면 버전이 업그레이드되고 새로운 기능이 추가된다. 뿐만 아니라 기존과는 다르게 Preview 버전도 포함해서 배포되는 관계로 새로운 기능에 민감하고 이것을 활용하기를 좋아하는 사람들의 경우 잘 정리된 페이지나 문서가 필요하다. 기존에는 자바 버전에 해당하는 Documentation의 New Features 페이지를 참고해서 읽거나 구글링을 통해서 다른 사람이 정리한 내용을 참조해야 했다. 다음은 "Java Language Updates" 페이지로 오라클의 자바 공식 문서에 포함되어 있는 내용이다. docs.oracle.com/en/java/javase/15/language/java-l..
자바 14에 프리뷰로 등록되었고 자바 15에 2번째 프리뷰로 업데이트 되었다. 진행되는 흐름상 자바 16에는 정식 버전으로 추가될 예정이다. 이 포스팅에서는 자바 15 기준으로 설명할 것이며, 정식 버전과 호환되지 않을 수 있다. 실제로 과거 많은 프리뷰 버전이 개념상으로는 유사하지만 패키지명, 클래스명, 메소드명 및 사용방법에 다소 차이가 있어서 오류가 날 수 있으니 이러한 점을 고려해야 한다. 이 포스팅은 https://openjdk.java.net/jeps/384 를 참고하였다. 1. 기술적 동기 다음과 같은 클래스가 있다고 가정하자. import java.util.Objects; public class Point { private final int x; private final int y; Poi..
텍스트 블록 기능이 자바 15에 정식으로 추가 되었다. 기능 추가가 아닌 언어적인 변화로 자바에서 XML, SQL 등 멀티라인으로 문자열을 사용하는 개발자들에게 희소식이다. 자바 13, 14에서 프리뷰로 추가되었고 15에 정식으로 발표되었다. 텍스트 블록에 대한 정의는 다음과 같이 내리고 있다. A text block is a multi-line string literal that avoids the need for most escape sequences, automatically formats the string in a predictable way, and gives the developer control over the format when desired. 여기서 중요한 점은 멀티라인을 작성하기 위..
Practical 모던 자바 책을 쓰면서 한가지 생각 못했던 것이 소스 코드의 공유이다. 책의 중간 중간에 설명 위주로 코드를 넣었기 때문에 소스 코드를 공유하지는 않았고, 다운로드 받을 수 있는 위치 정보도 책에 포함시키지 않았는데 독자들로 부터 종종 관련해서 문의를 받는다. 추석 연휴 기간에 내 로컬 GIT에 관리하고 있던 소스 코드를 GitHub에 올려 놓고 공유하였다. github.com/ykchang/modernjava ykchang/modernjava The source code of Practical Modern Java, Insight, 2020 - ykchang/modernjava github.com
스위치 표현식(switch expressions)에 대한 JEP 명세는 https://openjdk.java.net/jeps/361에서 확인할 수 있다. (해당 URL에 있는 예제를 이 블로그 포스트에서 활용하였다.) 스위치 표현식이라고 제목을 달았지만, 프로그래밍 언어의 분기 표현중 하나인 스위치 문장(switch statements)에 대한 기능 확장이라고 이해하면 된다. 기존의 switch는 분기하기 위해 case 문장에 고정된 값을 지정하고 여기에 맞는 코드를 작성하지만 개선된 스위치 표현식에서는 여러개의 조건에 따라 값을 처리하고 결과를 리턴할 수 있도록 개선되었다. JDK 12와 13에서 프리뷰 버전으로 소개되었고 14에서 정식으로 포함되었기 때문에 기능을 문제 없이 사용하려면 JDK 14 이..
2020년 9월달에 Practical 모던 자바가 출판되었는데, 책을 쓰면서 몇가지 담지 못했던 것들이 있다. 그 내용들을 블로그에 정리해서 포스팅 할 예정이다. 담지 못했던 이유는 크게 3가지이다. 1. 책의 취지에 맞지 않는다. 자바 6 포함 새로운 기술 중 의미있는 것들 위주로 정리해서 책에 담았다. 그 기준에 맞지 않는 내용들이 있어서 책을 쓰는 시점에 삭제한 것들이 있다. 막판까지 고심한 제네릭의 경우 자바 5에 포함된 것이지만, 책에 포함시키는 것이 의미있다고 판단해서 부록으로 넣었다. 2. 책을 집필한 이후에 나온 기술이다. 자바 버전이 6개월마다 한번씩 발표되면서 계속 새로운 기술이 발표되었다. 책은 11 버전에 맞췄으나 인쇄 들어가기 전에 14까지 나왔고 인쇄하자 마자 15버전이 나왔다...
- Total
- Today
- Yesterday
- Practical 모던 자바
- TITICACA FLIGHT F8
- 칼라스10
- 탄천
- 자바
- 영실
- MySQL 8.0
- 군산오름
- 인사이트
- 삼천리자전거
- 성판악
- 제주
- 티티카카 플라이트 F8
- 삼국지
- 티티카카
- 북경
- 베이징
- 호캉스
- 한양도성
- 나관중
- 나트랑
- 중문
- 장윤기
- 백록담
- 빈펄 롱비치
- 윗세오름
- 이문열
- 한라산
- 서울둘레길
- 한강
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |