티스토리 뷰
IT/Practical 모던 자바
[PMJ] var 관련 오류 수정 - 키워드(Keywords), 식별자 (Identifiers)
The most admired 2021. 3. 13. 23:50
책이 정식으로 출판된 이후 여러가지 문의나 오류에 대한 지적이 있었다. 너무나 날카로운 지적이라 나의 무지함이 드러나 부그러웠고 어떤 경우는 받아들일 수 없는 지적인 경우도 있었다. 무엇이 되었건 상관 없이 이 책에 대한 관심이라 생각하고 겸허히 받아들이려 노력중이다.
그 중 자바 10에 추가된 var 에 대한 것으로 책에서는 키워드로 적었지만 언어적으로는 키워드가 아니라는 지적이였다.
독자의 피드백을 받은 것은 아니고, 인터넷 서핑중에 발견한 내용이였다. 해당 블로그에 언급된 것처럼 var는 키워드는 아니고 "예약된 식별자"가 맞다. wikipedia에 자바 관련 예약어 목록을 확인할 수 있는데 자바 5에서 enum이 키워드로 추가되면서 발생한 혼란을 방지하기 위해 그 이후에는 "Reserved Identifiers"로 추가된 것을 볼 수 있다.
en.wikipedia.org/wiki/List_of_Java_keywords
그렇다면 Keyword와 Reserved Identifier는 어떤 차이가 있을까? 둘다 예약어로써 사용되지만 "Reserved Identifier"는 변수명으로 사용이 가능한 반면 Keyword는 변수명으로 선언할 수 없다.
JShell에서 다음과 같이 간편하게 확인할 수 있다.
C:\tools\Java\openjdk-15\bin>jshell
| Welcome to JShell -- Version 15
| For an introduction type: /help intro
jshell> import java.util.*
jshell> var var = new ArrayList<String>();
var ==> []
jshell> var enum = new ArrayList<String>();
| Error:
| as of release 5, 'enum' is a keyword, and may not be used as an identifier
| var enum = new ArrayList<String>();
| ^
jshell>
'IT > Practical 모던 자바' 카테고리의 다른 글
[PMJ] 자바 16 발표 (Oracle Announces Java 16) (0) | 2021.03.17 |
---|---|
[PMJ] Practical 모던 자바 정오표 (2022.04.24) (5) | 2021.03.16 |
[PMJ] Spring Batch에 대한 생각 (2) (0) | 2021.03.06 |
[PMJ] Spring Batch에 대한 생각 (1) (0) | 2021.03.06 |
[PMJ] Practical 모던 자바 - 자바 언어 변경 내용 확인 방법 (0) | 2020.12.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 성판악
- 영실
- 나트랑
- 이문열
- Practical 모던 자바
- 장윤기
- 베이징
- 칼라스10
- 중문
- 나관중
- 티티카카
- 빈펄 롱비치
- 호캉스
- 탄천
- 삼국지
- TITICACA FLIGHT F8
- 한강
- 인사이트
- 서울둘레길
- 티티카카 플라이트 F8
- 제주
- 북경
- MySQL 8.0
- 윗세오름
- 삼천리자전거
- 군산오름
- 자바
- 백록담
- 한양도성
- 한라산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함