C++

C++ 키워드(Keywords) 총정리

김구티2 2024. 2. 16. 20:19

C++는 강력한 언어이다. 이게 무슨 의미냐면, C++에서는 구조화된 프로그램과 객체 지향적인 프로그램도 작성할 수 있기 때문에 그렇다는 것이다. C++는 C의 수퍼셋이므로 C의 대부분의 구조는 의미가 변하지 않고 C++에서도 의미가 통한다. 그러나 몇 가지 예외와 추가 사항이 존재한다. 

 

1. 토큰의 개념

키워드에 대해 말하기에 앞서, 토큰에 대해 먼저 논해야 한다. 컴파일러가 C++ 프로그램의 소스 코드를 처리할 때, 공백으로 구분된 문자의 각 그룹을 토큰이라고 한다. 그렇기에 토큰은 프로그램의 개별 단위 중 가장 작은 것이기도 하다. C++ 프로그램은 토큰을 사용하여 작성되는데, 토큰에는 다음과 같은 요소가 존재한다.

 

① 키워드 ② 식별자 ③ 상수 ④ 문자열 ⑤ 연산자

 

즉, 우리가 앞서 글에서 다뤘던 식별자와 마찬가지로, 키워드는 토큰에 속하는 개념인 것이다.

 

2. 키워드의 개념

예약어라고도 하는 키워드는 C++ 컴파일러에 특별한 의미를 가지며, 항상 짧은 문자로 입력된다. 키워드는 void, int, public 등과 같이 해당 언어가 특별한 목적으로 사용하는 단어라 할 수 있다. 그렇기에 변수 이름이나 함수 이름 또는 다른 식별자에는 사용할 수 없다. C++에 등록된 키워드의 총 수는 95개이다. 아래는 일반적으로 사용되는 C++ 키워드에 대한 목록이다.

 

asm double new switch auto else operator template
break enum private this case extern protected throw
catch float public try char for register typedef
class friend return union const goto short unsigned
continue if signed virtual default inline sizeof void
delete int static volatile  do long struct while 

 

그럼 이제 이것들이 무엇을 의미하는지 하나하나 따져 보자.

 

asm: 코드 블록을 어셈블러에 전달할 것임을 선언한다.
auto: 블록에서 개체를 정의하는 데 사용되는 저장소 클래스 지정자이다.
break: 스위치 문 또는 루프를 종료한다.
case: 스위치 문 내에서 문의 식과 일치하는 항목을 지정하는 데 사용된다.
catch: 예외가 발생했을 때 수행되는 작업을 지정한다.
char: 문자 개체를 정의하는 기본 데이터 유형이다.
class: 데이터 멤버 및 작업 또는 멤버 함수를 캡슐화하는 사용자 정의 유형을 선언한다.
const: 프로그램 실행 기간 동안 값이 변경되지 않는 개체를 정의한다.
continue: 제어를 루프의 시작 부분으로 전달한다.
default: 대소문자로 처리되지 않는 스위치 문에 있는 식 값을 처리한다.
delete: 메모리 할당 해제 연산자이다.
do: 수식의 값이 논리적 false이 될 때까지 하위 문이 반복적으로 실행되는 작업 중 문의 시작을 나타낸다.
double: 부동 소수점 번호를 정의하는 데 사용되는 기본 데이터 유형이다.
else: 영문 그대로의 뜻으로, 특히 if-else 문에 사용된다.
enum: 사용자 정의 열거형 데이터 유형을 선언한다.
external: external로 지정된 식별자는 블록에 외부 링크를 갖는다.
float: 부동 소수점 번호를 정의하는 데 사용되는 기본 데이터 유형이다.
for: 반복적인 제어를 달성하기 위한 문의 시작을 나타낸다.
friend: 구현이 클래스의 개인 데이터 구성원에게 액세스할 수 있는 클래스 또는 작업이다.
go: 지정된 레이블로 컨트롤을 전송한다.
if: 선택적 제어를 달성하기 위한 if 문의 시작을 나타낸다.
inline: 컴파일러에게 함수 본체의 인라인 대체가 일반적인 함수 호출 구현보다 선호됨을 나타내는 함수 지정자이다.
int: 정수 개체를 정의하는 데 사용되는 기본 데이터 유형이다.
long: 32비트 int 또는 확장 더블을 정의하는 데이터 유형 수식어다.
new: 메모리 할당 연산자이다.
operator: 새 선언으로 c++ 연산자를 오버로드한다.
private: 클래스 외부에 보이지 않는 클래스 구성원을 선언한다.
protected: 파생 클래스를 제외한 비공개 클래스 구성원을 선언한다.
public: 클래스 외부에 표시되는 클래스 구성원을 선언한다.
register: 자동 지정자이지만 컴파일러에게 개체가 자주 사용되므로 레지스터에 보관해야 함을 나타내는 저장소 클래스 지정자다.
return: 함수의 호출자에게 개체를 반환한다.
short: 16비트 int number를 정의하는 데이터 유형 수식자이다.
signed: 객체의 부호를 상위 비트에 저장하도록 지시하는 데이터 형식의 수식어이다.
size of : 개체의 크기(바이트)를 반환한다.
static: 객체 정의 정적의 수명은 프로그램 실행 수명 전체에 걸쳐 존재한다.
struct: 데이터와 멤버 함수를 모두 캡슐화하는 새로운 유형을 선언한다.
switch: 이 키워드는 Switch 문에서 사용된다.
template: 매개 변수화되거나 일반 형식이다.
this: 클래스 포인터는 클래스의 개체 또는 인스턴스를 가리킨다.
throw: 예외를 생성한다.
try: 예외 처리기 블록의 시작을 나타낸다.
typedef: 다른 integral 또는 사용자 정의 유형의 동의어다.
union: 구조, 구조와 유사하게 다양한 유형의 데이터를 보유할 수 있지만, union은 특정 시간에 구성 중 하나만 보유할 수 있다.
unsigned: 객체에 사용할 상위 비트를 나타내는 데이터 형식 수정자이다.
virtual: 파생된 클래스로 재정의될 클래스의 멤버 함수를 선언하는 함수 지정자이다.
void: 유형 또는 함수 매개 변수 목록이 없다.
volatile: 컴파일러가 탐지할 수 없는 방식으로 값이 달라질 수 있는 개체를 정의한다.
while: 잠시 동안 statement를 시작하고 작업 중 statement를 종료한다. 보통 일정한 조건 하에 진행된다. 이후에는 while문을 탈출하는 개념으로 말이다.

 

예시:

// C++ program to illustrate the use
// of identifiers

#include <iostream>
using namespace std;

// Driver Code
int main()
{
     // Use of Underscore (_) symbol
     // in variable declaration
     int geeks_for_geeks = 1;

     cout << "Identifier result is: "
             << geeks_for_geeks;

     return 0;
}

 

출력:

Identifier result is: 1

 

3. 키워드와 식별자의 차이

키워드와 식별자의 개념이 다소 헷갈릴 수도 있다. 따라서 아래의 표의 내용을 따라 서로 대조하면서 개념을 더욱 확실하게 정립할 수 있을 것이다.

 

키워드 식별자
키워드는 사전에 정의, 예약된 단어이다. 식별자는 변수, 정수, 구조 및 결합과 같은 다양한 프로그래밍 항목을 정의하는 데 사용되는 값이다.
키워드는 항상 소문자로 시작한다. 식별자는 소문자는 물론, 대문자로도 시작할 수 있다.
엔티티 유형을 정의한다. 엔티티 이름을 분류한다.
키워드는 알파벳 문자만 포함한다. 식별자는 알파벳, 숫자, 밑줄로 구성될 수 있다.

 

728x90

'C++' 카테고리의 다른 글

C++ 변수(Variables) 총정리  (1) 2024.02.17
C++ 상수(Constants) 총정리  (1) 2024.02.16
C++ 식별자(Identifiers) 총정리  (0) 2024.02.15
C++ 기본 구문(Syntax) 총정리  (0) 2024.02.15
C++ 나쁜(?) 습관, 네임 스페이스 STD  (1) 2024.02.13