정처기 감자
공통 기초제어문/반복문

검색

검색어를 입력해 개념과 문제를 찾습니다.

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

코딩C언어JavaPython
읽는데 11분 소요
처음 쓰여진 날: 2026-03-13
마지막 수정일: 2026-03-19
조회수: —
선수학습(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언어에서 '참'과 '거짓'
C언어는 0을 거짓, 0이 아닌 모든 값을 참으로 판단합니다. `if(1)`, `if(-3)`, `if(100)` 모두 참입니다. 비교 연산자의 결과도 참이면 1, 거짓이면 0을 반환합니다.
c
코드 하이라이팅 중…

if문 예시

c
코드 하이라이팅 중…

조건이 거짓이면 건너뜀

c
코드 하이라이팅 중…

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


if-else문 쌩기초

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

c
코드 하이라이팅 중…

if-else문 예시

c
코드 하이라이팅 중…

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

if문 쌩기초

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

java
코드 하이라이팅 중…

if문 예시

java
코드 하이라이팅 중…
Java는 boolean 타입만 조건으로 사용 가능
C언어와 달리 `if(1)`, `if(a)`처럼 정수를 직접 조건으로 사용할 수 없습니다. 반드시 `if(a > 0)`처럼 boolean 결과가 나오는 식을 사용해야 합니다.

조건이 거짓이면 건너뜀

java
코드 하이라이팅 중…

if-else문 쌩기초

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

java
코드 하이라이팅 중…

if-else문 예시

java
코드 하이라이팅 중…

if문 쌩기초

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

python
코드 하이라이팅 중…

if문 예시

python
코드 하이라이팅 중…
Python의 참/거짓 (Truthy/Falsy)
`0`, `''`(빈 문자열), `[]`(빈 리스트), `None`은 거짓(Falsy)입니다. 그 외의 값은 참(Truthy)으로 판단됩니다. `if 1:`, `if 'hello':` 모두 참입니다.

조건이 거짓이면 건너뜀

python
코드 하이라이팅 중…

if-else문 쌩기초

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

python
코드 하이라이팅 중…

if-else문 예시

python
코드 하이라이팅 중…

else if문 (다중 조건) 기초

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

c
코드 하이라이팅 중…

else if문 예시

c
코드 하이라이팅 중…
else if는 위에서부터 순서대로 검사합니다
75는 `>= 70`도 참이지만, 위의 `>= 90`, `>= 80`을 먼저 검사하고 거짓이므로 건너뜁니다. 처음으로 참인 `>= 70`에서 실행하고 나머지는 검사하지 않습니다.

중첩 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
코드 하이라이팅 중…
elif는 위에서부터 순서대로 검사합니다
75는 `>= 70`도 참이지만, 위의 `>= 90`, `>= 80`을 먼저 검사하고 거짓이므로 건너뜁니다. 처음으로 참인 `>= 70`에서 실행하고 나머지는 검사하지 않습니다.

중첩 if문 기초

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

python
코드 하이라이팅 중…

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


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

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

기본 형식

python
코드 하이라이팅 중…

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

python
코드 하이라이팅 중…

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

python
코드 하이라이팅 중…

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

python
코드 하이라이팅 중…

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

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

python
코드 하이라이팅 중…

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

조건부 표현식 안에는 식만 들어갑니다
값1과 값2 자리에 대입문이나 print() 같은 문장을 직접 넣을 수 없습니다. 한 줄에 모든 동작을 넣고 싶다면 일반 if문으로 풀어 쓰는 편이 안전합니다.

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

조건부 표현식의 값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)" 구조라는 것이 명확하게 보입니다.

중첩된 조건부 표현식은 괄호로 명시하세요
실제 코드를 작성할 때는 (A if B else C) if D else E처럼 괄호를 직접 써서 의도를 분명히 하는 것이 좋습니다. 시험 문제에서는 괄호 없이 출제되므로, 오른쪽 결합 규칙을 외워두세요.

일반 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 형태로 표현합니다. ↩


메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
후수학습(3개)
  • 반복문 (for, while) - 루프의 기초
  • switch-case문과 fall-through (if-elif-else)
  • Python 제너레이터 표현식
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999