티스토리 뷰
[PMJ] var 관련 오류 수정 - 키워드(Keywords), 식별자 (Identifiers)
The most admired 2021. 3. 13. 23:50
책이 정식으로 출판된 이후 여러가지 문의나 오류에 대한 지적이 있었다. 너무나 날카로운 지적이라 나의 무지함이 드러나 부그러웠고 어떤 경우는 받아들일 수 없는 지적인 경우도 있었다. 무엇이 되었건 상관 없이 이 책에 대한 관심이라 생각하고 겸허히 받아들이려 노력중이다.
그 중 자바 10에 추가된 var 에 대한 것으로 책에서는 키워드로 적었지만 언어적으로는 키워드가 아니라는 지적이였다.
[Java] var는 키워드가 아니다.
"개발하자" 라는 슬랙에서 이석민(닉네임 lee_maru)님이 "var는 키워드가 아닙니다."라는 이야기를 해서 찾아보게 되었다. 자바언어 규약(JLS)를 찾아보니 var는 키워드가 아니라고 한다. var is not a
namocom.tistory.com
독자의 피드백을 받은 것은 아니고, 인터넷 서핑중에 발견한 내용이였다. 해당 블로그에 언급된 것처럼 var는 키워드는 아니고 "예약된 식별자"가 맞다. wikipedia에 자바 관련 예약어 목록을 확인할 수 있는데 자바 5에서 enum이 키워드로 추가되면서 발생한 혼란을 방지하기 위해 그 이후에는 "Reserved Identifiers"로 추가된 것을 볼 수 있다.
en.wikipedia.org/wiki/List_of_Java_keywords
List of Java keywords
A snippet of Java code with keywords highlighted in blue and bold font In the Java programming language, a keyword is any one of 52 reserved words[1] that have a predefined meaning in the language; because of this, programmers cannot use keywords as names
en.wikipedia.org
그렇다면 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) (6) | 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
- 빈펄 롱비치
- 영실
- 인사이트
- 자바
- 호캉스
- MySQL 8.0
- 백록담
- 칼라스10
- 중문
- 장윤기
- 군산오름
- 티티카카
- 나관중
- 서울둘레길
- 한양도성
- TITICACA FLIGHT F8
- 나트랑
- 티티카카 플라이트 F8
- 삼국지
- 베이징
- 이문열
- 탄천
- 윗세오름
- 북경
- 한라산
- 삼천리자전거
- 성판악
- Practical 모던 자바
- 한강
- 제주
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |