true/false를 만든다true/false를 조합해 더 복잡한 조건을 만든다&&, ||는 필요할 때만 오른쪽을 평가한다()로 의도를 고정한다| 연산자 | 의미 |
|---|---|
| == | 같다 |
| != | 다르다 |
| <, >, <=, >= | 크기 비교 |
bool (true 또는 false)int hp = 10;
bool alive = (hp > 0); // true
주의: 비교는
==, 대입(쓰기)은=입니다.
| 연산자 | 의미 |
|---|---|
| && | AND (둘 다 참) |
| || | OR (하나라도 참) |
| ! | NOT (반전) |
가장 중요한 개념은 단락 평가(short-circuit) 입니다.
A && B: A가 false면 B는 볼 필요가 없어서 평가하지 않음A || B: A가 true면 B는 볼 필요가 없어서 평가하지 않음// hp가 0 이하이면 오른쪽(회복 조건)은 아예 평가되지 않을 수 있음
if (hp > 0 && hp < maxHp) {
// ...
}
NOT(!)은 조건을 뒤집습니다.
bool isDead = (hp <= 0);
if (!isDead) {
// 살아있을 때만 실행
}
&&가 ||보다 높음헷갈릴 때는 아래처럼 괄호로 의도를 고정하면 안전합니다.
bool canAttack = (hp > 0) && (isStunned == false || hasBuff == true);
=와 ==의 차이는 무엇일까?A && B에서 A가 false면, B는 왜 평가되지 않을 수 있을까?&&와 ||가 섞인 조건식은 왜 괄호를 쓰는 게 안전할까?