[Programming Basic] 예약어 & 키워드

양영준·2026년 1월 26일

Programming Basic

목록 보기
1/6
post-thumbnail

📌 예약어 (Reserved Word)

프로그래밍 언어에서 미리 사용하기로 약속한 단어로 변수나 함수의 이름과 같은 식별자(identifier)로 사용할 수 없는 단어들을 의미한다.

프로그래밍 언어를 만드는 사람들이 길고 복잡한 코드를 작성하여 기능을 만들었을 때, 사용자가 해당 기능을 사용하기 위해 그 코드를 매번 작성하기에는 불편하기 때문에 이를 언어 제작자가 해당 예약어의 이름으로 함수를 제작한 것이라고 생각하면 이해하기 쉽다.

때로는 아직 구현하지 않은 기능들을 위해 미리 예약어를 지정하는 경우도 존재한다.

예약어는 각 언어마다 다르게 지정되어 있으나 대다수는 공통적으로 사용되고 있다.

ex)

  1. int , char 과 같은 자료형

  2. for , while 과 같은 반복문

  3. switch , if , case , break 와 같은 조건문 / 제어문

예약어를 식별자로 사용할 수 없는 이유?

  1. 컴파일러의 해석 모호성 방지
    만약 예약어를 식별자로 사용할 수 있게 된다면 int int = 10; 과 같은 코드가 작성될 수 있다.
    이 경우 컴파일러는 어떤 것이 자료형이고, 어떤 것이 변수명인지 구분할 수 없다.
    이는 컴파일러의 동작 오류의 원인이 될 수 있다.

  2. 코드 가독성 저하
    컴파일러 뿐만 아니라 코드를 읽는 사람 또한 이를 헷갈릴 수 있으며, 이는 코드의 유지 보수가 어려워지는 원인이 된다.

📌 키워드 (Keyword)

프로그래밍 언어에서 특별한 의미를 가지는 단어나 문법의 일부를 의미한다.
키워드들은 명확한 의미 또는 역할을 가지고 있다.

키워드 == 예약어 ?

키워드와 예약어는 대체로 같은 의미로 사용되므로, 바꿔서 사용해도 되는 경우가 많다.
그러나 엄연히 키워드와 예약어는 다르다.

짧게 요약하자면, 키워드는 예약어의 부분집합이다. (키워드 ⊂ 예약어)
예약어 파트에서 "아직 구현하지 않은 기능들을 위해 미리 예약어를 지정하는 경우" 도 있다고 했는데, 해당 경우가 향후 프로그래밍 언어가 업그레이드 되었을 때 키워드로 사용될 수 있는 단어들을 미리 지정하는 경우이다.
그렇기 때문에 예약어는 키워드를 위해 미리 예약해 놓은 단어들의 모임이라고도 할 수 있다.


Reference

예약어 - 위키백과
예약어란 무엇인가? Java, C, Swift, Python등의 예약어란?
예약어에 대해서 알아보자!
[Q&A] 예약어와 키워드
키워드(keyword)와 예약어(reserved word)는 같은 말인가요? 아닌가요?
예약어(Reserved word)와 키워드(Keyword)의 차이

profile
학습 내용 정리 순차적 갱신 / 정리 중

0개의 댓글