조건문 (if, else if, else)

Jaemyeong Lee·2024년 7월 6일

게임 서버1

목록 보기
14/220

이번 Step에서 잡아야 할 것

  • if의 조건은 결국 bool (true/false)
  • else if위에서 아래로 순서대로 검사 → 순서가 로직
  • else는 “나머지 모든 경우”를 안전하게 처리하는 기본값
  • 중괄호 {}는 버그를 막는 안전장치(초반엔 항상 쓰는 습관 추천)

if

if (hp <= 0) {
    cout << "죽었습니다.";
}

if-else

if (hp <= 0) {
    cout << "죽었습니다.";
} else {
    cout << "살았습니다.";
}

if-else if-else (몬스터 예)

else if는 “한 번이라도 참이 나오면” 그 블록만 실행하고 끝납니다.
그래서 조건을 좁혀가는 순서가 중요합니다.

if (hp <= 0) {
    cout << "몬스터를 처치했습니다.";
} else if (hp <= 30) {
    cout << "몬스터가 도망갔습니다!";
} else {
    cout << "몬스터가 반격했습니다.";
}

중괄호

  • 스타일은 팀/프로젝트마다 다를 수 있지만, 가장 중요한 건 일관성입니다.
  • 한 줄만 실행할 때도 {}를 붙이면 실수를 크게 줄일 수 있습니다.
if (hp <= 0)
    cout << "죽었습니다.";
    cout << "게임 오버";   // (주의) 이 줄은 if와 무관하게 항상 실행됨

위 같은 실수는 {}를 붙이면 사라집니다.

if (hp <= 0) {
    cout << "죽었습니다.";
    cout << "게임 오버";
}

실전 팁: “범위 체크”는 겹치지 않게 쓰기

if (hp <= 0) {
    // 죽음 처리
} else if (hp <= 30) {
    // 위험 상태
} else {
    // 정상 상태
}

체크 질문 (스스로 답해보기)

  • else if의 순서가 바뀌면 결과가 달라질 수 있을까? 왜 그럴까?
  • else를 붙이는 게 안전한 이유는 뭘까?
  • {}를 생략했을 때 생기는 대표 버그는 어떤 형태일까?

profile
李家네_공부방

0개의 댓글