C++에서 등호 연산자(equality operators)는 두 값이 서로 같은지 비교하는 연산자로, '같음'을 의미하는 ==(equal to)와 '같지 않음'을 의미하는 !=(not equal to)가 있습니다. 이름 그대로 두 피연산자가 같은 값인지 아닌지를 판별하는 역할을 수행합니다.
등호 연산자는 이항(binary) 연산자로, 좌우에 위치한 두 피연산자를 엄격하게 비교하여 그 결과를 반환합니다. 관계 연산자(relational operators)보다 우선순위는 낮지만 동작 방식은 매우 유사하며, 연산 결과의 자료형은 항상 bool입니다.
등호 연산자의 동작 원리
- 같음 연산자(
==): 두 피연산자의 값이 동일하면true(1)를 반환하고, 그렇지 않으면false(0)를 반환합니다. - 같지 않음 연산자(
!=): 두 피연산자의 값이 다르면true를 반환하고, 값이 같으면false를 반환합니다.
예제 코드
다음 예제는 등호 연산자의 기본적인 사용법과 결과를 보여줍니다. boolalpha는 bool 타입의 결과를 숫자(1, 0) 대신 true/false 문자열로 출력해 주는 조작자(manipulator)입니다.
#include <iostream>
using namespace std;
int main() {
// bool 결과를 true/false 형태로 출력하기 위한 설정
cout << boolalpha
<< "참인 표현식 3 != 2 의 결과: "
<< (3 != 2) << endl
<< "거짓인 표현식 20 == 10 의 결과: "
<< (20 == 10) << endl;
}실행 결과
참인 표현식 3 != 2 의 결과: true 거짓인 표현식 20 == 10 의 결과: false
추가 팁: 변수 비교 활용
등호 연산자는 리터럴뿐만 아니라 변수 간의 비교에도 널리 사용됩니다. 특히 조건문(if, while 등)에서 프로그램의 흐름을 제어할 때 필수적으로 활용됩니다.
int a = 10;
int b = 20;
if (a == b) {
cout << "a와 b는 같습니다." << endl;
} else {
cout << "a와 b는 같지 않습니다." << endl; // 이 문장이 실행됨
}또한 주의할 점은, 초보자들이 흔히 실수하는 대입 연산자(=)와 등호 연산자(==)의 혼동입니다. =는 값을 할당하는 연산자이고, ==는 값을 비교하는 연산자이므로 조건문 작성 시 반드시 구분해서 사용해야 합니다.