조건문 (if, if-else, else if)

코딩C언어JavaPython
읽는데 11분 소요
처음 쓰여진 날: 2026-03-13
마지막 수정일: 2026-03-19
조회수: 2,119
선수학습(1개)

요약

if문, if-else문, else if(elif) 다중 조건의 기본 구조와 실행 흐름을 알아봅니다. 정보처리기사 실기 코딩 문제의 조건 분기를 이해하기 위한 핵심 개념입니다.

조건문 핵심 정리

개념설명예시
if조건이 참이면 실행if(a > 0)
elseif 조건이 거짓이면 실행else
else if추가 조건 검사else if(a == 0)
중첩 ifif 안에 ifif(a > 0) { if(b > 0) ... }

조건문 핵심 정리

개념설명예시
if조건이 참이면 실행if(a > 0)
elseif 조건이 거짓이면 실행else
else if추가 조건 검사else if(a == 0)
중첩 ifif 안에 ifif(a > 0) { if(b > 0) ... }

조건문 핵심 정리

개념설명예시
if조건이 참이면 실행if a > 0:
elseif 조건이 거짓이면 실행else:
elif추가 조건 검사elif a == 0:
중첩 ifif 안에 if들여쓰기로 중첩

if문 쌩기초

조건이 참(0이 아닌 값) 이면 중괄호 안의 코드를 실행합니다.

c
코드 하이라이팅 중...

if문 예시

c
코드 하이라이팅 중...

조건이 거짓이면 건너뜀

c
코드 하이라이팅 중...

이처럼 조건이 거짓이면 중괄호 안의 코드를 건너뛰고 다음 줄로 넘어갑니다.


if-else문 쌩기초

조건이 참이면 if 블록1, 거짓이면 else 블록을 실행합니다. 둘 중 하나만 실행됩니다.

c
코드 하이라이팅 중...

if-else문 예시

c
코드 하이라이팅 중...

%(나머지 연산자)가 처음이라면 나머지 연산자 페이지를 먼저 확인하세요.

if문 쌩기초

조건이 true이면 중괄호 안의 코드를 실행합니다.

java
코드 하이라이팅 중...

if문 예시

java
코드 하이라이팅 중...

조건이 거짓이면 건너뜀

java
코드 하이라이팅 중...

if-else문 쌩기초

조건이 true이면 if 블록1, false이면 else 블록을 실행합니다. 둘 중 하나만 실행됩니다.

java
코드 하이라이팅 중...

if-else문 예시

java
코드 하이라이팅 중...

if문 쌩기초

조건이 True이면 들여쓰기된 코드를 실행합니다.

python
코드 하이라이팅 중...

if문 예시

python
코드 하이라이팅 중...

조건이 거짓이면 건너뜀

python
코드 하이라이팅 중...

if-else문 쌩기초

조건이 True이면 if 블록1, False이면 else 블록을 실행합니다. 둘 중 하나만 실행됩니다.

python
코드 하이라이팅 중...

if-else문 예시

python
코드 하이라이팅 중...

else if문 (다중 조건) 기초

여러 조건을 순서대로 검사합니다. 처음으로 참인 조건의 블록만 실행하고 나머지는 건너뜁니다.

c
코드 하이라이팅 중...

else if문 예시

c
코드 하이라이팅 중...

중첩 if문 기초

if문 안에 또 다른 if문을 넣을 수 있습니다.

c
코드 하이라이팅 중...

바깥 if의 조건이 참일 때만 안쪽 if를 검사합니다.

else if문 (다중 조건) 기초

여러 조건을 순서대로 검사합니다. 처음으로 true인 조건의 블록만 실행하고 나머지는 건너뜁니다.

java
코드 하이라이팅 중...

else if문 예시

java
코드 하이라이팅 중...

중첩 if문 기초

if문 안에 또 다른 if문을 넣을 수 있습니다.

java
코드 하이라이팅 중...

바깥 if의 조건이 true일 때만 안쪽 if를 검사합니다.

elif문 (다중 조건) 기초

여러 조건을 순서대로 검사합니다. 처음으로 True인 조건의 블록만 실행하고 나머지는 건너뜁니다.

python
코드 하이라이팅 중...

elif문 예시

python
코드 하이라이팅 중...

중첩 if문 기초

if문 안에 또 다른 if문을 넣을 수 있습니다. 들여쓰기로 중첩 단계를 구분합니다.

python
코드 하이라이팅 중...

바깥 if의 조건이 True일 때만 안쪽 if를 검사합니다.


조건부 표현식 (한 줄 if-else) 쌩기초

조건부 표현식(Conditional Expression)if-else 문장을 한 줄짜리 식으로 줄여 쓰는 문법입니다. 다른 언어의 삼항 연산자2 조건 ? A : B와 같은 역할을 하지만, 파이썬에서는 ifelse 키워드를 그대로 사용합니다.

기본 형식

python
코드 하이라이팅 중...

조건이 참이면 값1, 거짓이면 값2를 결과로 내놓습니다. 결과 값이 앞에, 조건이 가운데, 대체값이 뒤에 오는 점이 일반 if문과 다릅니다.

python
코드 하이라이팅 중...

같은 동작을 일반 if-else문으로 풀어 쓰면 다음과 같습니다.

python
코드 하이라이팅 중...

조건부 표현식은 변수에 대입할 값을 조건에 따라 정할 때, 또는 함수의 인자나 return 값으로 한 줄에 넣을 때 자주 쓰입니다.

python
코드 하이라이팅 중...

식(expression)이지 문장(statement)이 아니다

조건부 표현식은 하나의 값으로 평가되는 식입니다. 그래서 print(...)의 인자, return 뒤, 리스트 안 같은 식이 들어갈 수 있는 모든 자리에 쓸 수 있습니다.

python
코드 하이라이팅 중...

반대로 대입문(x = 1)이나 print() 호출 같은 문장(statement) 은 조건부 표현식 안에 넣을 수 없습니다.


중첩된 조건부 표현식과 결합 규칙 기초

조건부 표현식의 값1이나 값2 자리에 또 다른 조건부 표현식을 넣을 수 있습니다. 정보처리기사 실기에서 가장 헷갈리는 형태가 바로 이 중첩 형태입니다.

python
코드 하이라이팅 중...

처음 보면 (A if B else C) if D else E처럼 앞쪽부터 묶이는 것 같지만, 실제로는 뒤쪽 if-else가 먼저 묶입니다. 즉 다음과 같이 해석됩니다.

python
코드 하이라이팅 중...

이 결합 규칙을 오른쪽 결합(right-associative) 이라고 부릅니다. "B면 A, 아니면 (D면 C, 아니면 E)" 순서로 읽으면 됩니다.

분해해서 읽는 요령

복잡한 중첩 조건부 표현식을 만나면 뒤쪽 if-else부터 괄호를 쳐서 분해합니다.

python
코드 하이라이팅 중...

이렇게 분해하면 "level이 홀수면 n.v, 짝수면 (n이 있으면 0 + sum(...), 없으면 0)" 구조라는 것이 명확하게 보입니다.

일반 if-else로 풀어 쓰기 비교

한 줄 표현식풀어 쓴 형태
x if x > 0 else -xif x > 0: x else: -x
A if B else C if D else Eif B: A elif D: C else: E
1 if a else 2 if b else 3if a: 1 elif b: 2 else: 3

중첩 조건부 표현식은 사실상 if-elif-else와 같은 동작을 한 줄로 표현한 것입니다.


정보처리기사 실기 대비 문제


Footnotes

  1. 블록: 중괄호 { }로 감싼 코드 묶음 2 3

  2. 삼항 연산자: 세 개의 항(피연산자)을 받아 결과 값 하나를 만드는 연산자입니다. 다른 언어에서는 보통 조건 ? A : B 형태이고, 파이썬에서는 A if 조건 else B 형태로 표현합니다.