예약어(Reserved word)와 키워드(Keyword)의 차이

dion·2020년 11월 22일
1

TL;DR

  • 예약어는 식별자로 사용할 수 없다.
  • 키워드는 언어에서 특별한 의미를 가지는 단어이며, 구문 분석의 대상이다.

이 글을 쓰는 이유

Java의 var에 대한 얘기 중 var var = 10; 과 같은 선언이 되므로 var는 키워드가 아니다. 라는 얘기가 있었기 때문에 제가 알고있었던 정보와 차이가 나서 다시 찾아보았습니다.

예약어(Reserved word)

예약어는 언어에서 미리 예약한 단어입니다. 따라서 이는 식별자로 사용될 수 없습니다.

키워드(Keyword)

키워드는 언어에서 특별한 의미를 가지는 단어나, 문법의 일부를 의미합니다. 따라서 구문 분석의 대상이 됩니다.

결론

여기서의 var는 특별한 의미를 가지기 때문에 키워드이지만, 식별자로 사용할 수 있기 때문에 예약어는 아닙니다.

반면 goto는 식별자로 사용할 수 없기 때문에 예약어이지만, Java 문법 상 특별한 의미를 가지지는 않기 때문에 키워드가 아닙니다.

참고

구글 검색어: difference between keyword and reserved word

https://stackoverflow.com/questions/1078908/what-is-the-difference-between-keyword-and-reserved-word

profile
코드리뷰와 고양이를 좋아하는 개발자입니다. 좋은 글을 위한 비판은 언제든 환영합니다.

0개의 댓글