웹디자인기능사/웹디자인기능사 실기

정보처리기사 실기 - 2일차 (Java/C/Python 기본, 요구사항)

siimplelab 2026. 3. 25. 14:04
반응형

오늘의 학습 목표

오늘 공부를 끝내면 아래 정도는 되어야 합니다.

  • 변수와 자료형의 기본 개념을 설명할 수 있다.
  • 연산자와 증감 연산 결과를 계산할 수 있다.
  • if, else, for, while 코드의 실행 결과를 해석할 수 있다.
  • C, Java, Python의 기본 문법 차이를 큰 틀에서 구분할 수 있다.
  • 요구사항 확인 관련 핵심 용어를 암기할 수 있다.

1. 변수와 자료형 정리

1-1. 변수란?

변수는 값을 저장하는 공간입니다.

예:

int a = 10;

의미:

  • a라는 이름의 공간을 만들고
  • 그 안에 10을 저장한다

핵심:

  • 변수는 값을 담는 상자
  • 문제에서는 변수에 어떤 값이 들어가고 어떻게 바뀌는지를 보는 것이 중요함

1-2. 자료형이란?

자료형은 어떤 종류의 값을 저장할지 정하는 것입니다.

대표적인 자료형:

  • 정수형: int
  • 실수형: float, double
  • 문자형: char
  • 문자열형: 언어마다 다름
  • 논리형: bool, boolean

예:

int age = 20;
double score = 95.5;
char grade = 'A';
boolean pass = true;

핵심:

  • 정수는 소수점 없음
  • 실수는 소수점 포함
  • 문자는 한 글자
  • 문자열은 여러 글자
  • 논리형은 참/거짓

1-3. 자료형 관련 시험 포인트

실기에서는 자료형 정의를 길게 묻기보다, 코드 결과를 묻는 쪽이 많습니다.

예를 들어 이런 감각이 중요합니다.

  • 정수끼리 계산하면 정수 결과가 나오는가
  • 문자 코드값 연산이 가능한가
  • 언어에 따라 선언 방식이 어떻게 다른가

2. 연산자 정리

2-1. 산술 연산자

  • + : 더하기
  • - : 빼기
  • * : 곱하기
  • / : 나누기
  • % : 나머지

예:

int a = 10, b = 3;
  • a + b = 13
  • a - b = 7
  • a * b = 30
  • a / b = 3
  • a % b = 1

핵심:

  • 정수 나눗셈은 소수점 버림
  • %는 나머지 구하기

2-2. 비교 연산자

  • == : 같다
  • != : 다르다
  • > : 크다
  • < : 작다
  • >= : 크거나 같다
  • <= : 작거나 같다

예:

a = 5, b = 3
  • a > b → 참
  • a == b → 거짓

비교 연산의 결과는 참 또는 거짓입니다.


2-3. 논리 연산자

  • && : AND
  • || : OR
  • ! : NOT

예:

a = 5, b = 3
  • (a > 3) && (b > 1) → 참
  • (a < 3) || (b > 5) → 거짓
  • !(a > b) → 거짓

3. 증감 연산 정리

증감 연산은 시험에서 매우 자주 나옵니다. 여기서 많이 틀립니다.

3-1. 기본 개념

  • ++a : 먼저 증가, 후 사용
  • a++ : 먼저 사용, 후 증가
  • --a : 먼저 감소, 후 사용
  • a-- : 먼저 사용, 후 감소

3-2. 예시 1

int a = 5;
int b = ++a;

해석:

  1. a를 먼저 1 증가시킴 → a = 6
  2. 그 값을 b에 대입 → b = 6

결과:

  • a = 6
  • b = 6

3-3. 예시 2

int a = 5;
int b = a++;

해석:

  1. 먼저 a 값을 b에 대입 → b = 5
  2. 그다음 a 1 증가 → a = 6

결과:

  • a = 6
  • b = 5

3-4. 증감 연산 핵심 요령

시험장에서 헷갈리면 이렇게 생각하면 됩니다.

  • ++a : 증가부터
  • a++ : 대입부터

4. 조건문 정리

4-1. if문

기본형:

if (조건) {
    실행문;
}

의미:

  • 조건이 참이면 실행
  • 거짓이면 건너뜀

예:

int a = 10;
if (a > 5) {
    printf("참");
}

결과:


4-2. if ~ else문

기본형:

if (조건) {
    실행문1;
} else {
    실행문2;
}

예:

int a = 3;
if (a > 5) {
    printf("A");
} else {
    printf("B");
}

결과:

  • B

4-3. else if문

예:

int a = 7;
if (a > 10) {
    printf("A");
} else if (a > 5) {
    printf("B");
} else {
    printf("C");
}

결과:

  • B

핵심:

  • 위에서부터 차례대로 검사
  • 참이 되는 첫 블록만 실행

5. 반복문 정리

5-1. for문

기본형:

for (초기값; 조건; 증감) {
    실행문;
}

예:

for (int i = 1; i <= 3; i++) {
    printf("%d", i);
}

출력:

  • 123

해석:

  • i = 1부터 시작
  • i <= 3 동안 반복
  • 한 번 돌 때마다 i++

5-2. while문

기본형:

while (조건) {
    실행문;
}

예:

int i = 1;
while (i <= 3) {
    printf("%d", i);
    i++;
}

출력:

  • 123

핵심:

  • 조건이 참인 동안 계속 반복
  • 반복 안에서 값을 바꾸지 않으면 무한 반복 가능

6. 코드 해석 요령

짧은 코드 문제는 보통 이 순서로 보면 됩니다.

  1. 변수 초기값 확인
  2. 연산 순서 확인
  3. 조건문에서 어느 분기로 가는지 확인
  4. 반복문이 몇 번 도는지 확인
  5. 최종 변수값 또는 출력값 정리

무턱대고 한 번에 읽으면 실수합니다. 줄 단위로 따라가는 습관이 필요합니다.


7. C / Java / Python 기본 문법 차이

실기에서는 언어별 깊은 문법보다, “표현 방식이 어떻게 다른지” 정도를 구분하면 충분한 경우가 많습니다.

7-1. 변수 선언

C

int a = 10;

Java

int a = 10;

Python

a = 10

차이:

  • C, Java는 자료형 선언 필요
  • Python은 자료형 선언 없이 바로 대입

7-2. 조건문

C / Java

if (a > 5) {
    printf("OK");
}
if (a > 5) {
    System.out.println("OK");
}

Python

if a > 5:
    print("OK")

차이:

  • C, Java는 괄호와 중괄호 사용
  • Python은 콜론과 들여쓰기 사용

7-3. 반복문

C / Java

for (int i = 0; i < 3; i++) {
    printf("%d", i);
}

Python

for i in range(3):
    print(i)

차이:

  • C, Java는 초기값/조건/증감을 한 줄에 씀
  • Python은 range()를 자주 사용

7-4. 출력문

C

printf("%d", a);

Java

System.out.println(a);

Python

print(a)

7-5. 한눈에 보는 정리

항목 C Java Python
변수 선언 자료형 필요 자료형 필요 자료형 선언 없음
블록 표현 {} {} 들여쓰기
조건문 if (조건) if (조건) if 조건:
반복문 for, while for, while for, while
출력 printf System.out.println print

암기 포인트:

  • C/Java는 괄호와 중괄호
  • Python은 콜론과 들여쓰기

8. 프로그래밍 기출형 연습문제

문제 1

다음 코드의 결과는?

int a = 5;
int b = 2;
int c = a + b * 3;
printf("%d", c);

정답:

  • 11

해설:
곱셈 먼저 계산

  • b * 3 = 6
  • a + 6 = 11

문제 2

다음 코드 실행 후 a, b의 값은?

int a = 5;
int b = ++a;

정답:

  • a = 6
  • b = 6

문제 3

다음 코드 실행 후 a, b의 값은?

int a = 5;
int b = a++;

정답:

  • a = 6
  • b = 5

문제 4

다음 코드의 출력 결과는?

int a = 8;
if (a > 10) {
    printf("A");
} else {
    printf("B");
}

정답:

  • B

문제 5

다음 코드의 출력 결과는?

int a = 7;
if (a > 10) {
    printf("A");
} else if (a > 5) {
    printf("B");
} else {
    printf("C");
}

정답:

  • B

문제 6

다음 코드의 출력 결과는?

for (int i = 1; i <= 3; i++) {
    printf("%d", i);
}

정답:

  • 123

문제 7

다음 코드의 출력 결과는?

int i = 0;
while (i < 3) {
    printf("%d", i);
    i++;
}

정답:

  • 012

문제 8

다음 코드의 최종 sum 값은?

int sum = 0;
for (int i = 1; i <= 4; i++) {
    sum = sum + i;
}
printf("%d", sum);

정답:

  • 10

해설:

  • 0 + 1 + 2 + 3 + 4 = 10

문제 9

다음 Java 코드의 출력 결과는?

int x = 3;
int y = 4;
System.out.println(x > y);

정답:

  • false

문제 10

다음 Python 코드의 출력 결과는?

a = 2
b = 3
print(a ** b)

정답:

  • 8

해설:
Python의 **는 거듭제곱

  • 2 ** 3 = 8

9. 실전형 혼합 문제

문제 1

다음 코드의 출력 결과는?

int a = 1;
int b = 2;
int c = 3;

if (a < b && b < c) {
    printf("%d", a + b + c);
} else {
    printf("0");
}

정답:

  • 6

문제 2

다음 코드 실행 후 x 값은?

int x = 10;
x--;
--x;
printf("%d", x);

정답:

  • 8

해설:

  • x--9
  • --x8

문제 3

다음 코드의 출력 결과는?

int i, sum = 0;
for (i = 1; i <= 3; i++) {
    sum += i;
}
printf("%d", sum);

정답:

  • 6

문제 4

다음 코드의 출력 결과는?

a = 5
if a % 2 == 0:
    print("even")
else:
    print("odd")

정답:

  • odd

문제 5

다음 코드의 출력 결과는?

int a = 10;
if (a >= 10) {
    System.out.println("pass");
}

정답:

  • pass

10. 오늘 꼭 외워야 할 프로그래밍 포인트

  • 변수: 값을 저장하는 공간
  • 자료형: 값의 종류
  • ++a: 먼저 증가
  • a++: 나중 증가
  • if: 조건이 참일 때 실행
  • if ~ else: 둘 중 하나 실행
  • for: 반복 횟수가 비교적 분명한 경우
  • while: 조건이 참인 동안 반복
  • C/Java: 괄호와 중괄호
  • Python: 콜론과 들여쓰기

11. 이론 학습자료: 요구사항 확인 관련 용어

이 파트는 실기에서 자주 등장합니다. 길게 외우기보다 구분 위주로 정리해야 합니다.

11-1. 요구사항이란?

사용자나 시스템이 필요로 하는 조건이나 기능입니다.

예:

  • 회원가입 기능이 필요하다
  • 관리자 권한 구분이 필요하다
  • 응답 속도는 2초 이내여야 한다

11-2. 기능 요구사항

시스템이 해야 하는 동작이나 기능에 대한 요구사항입니다.

예:

  • 로그인 기능 제공
  • 회원 정보 수정 기능 제공
  • 검색 기능 제공

핵심:

  • 무엇을 해야 하는가

11-3. 비기능 요구사항

품질이나 제약사항에 대한 요구사항입니다.

예:

  • 응답 시간 2초 이내
  • 24시간 운영 가능
  • 보안 수준 유지
  • 특정 운영체제에서 동작

핵심:

  • 어떻게 잘 동작해야 하는가
  • 어떤 조건을 만족해야 하는가

11-4. 요구사항 개발 프로세스

보통 아래 흐름으로 봅니다.

  1. 도출
  2. 분석
  3. 명세
  4. 확인

도출

이해관계자에게서 요구사항을 수집

분석

중복, 충돌, 누락 여부 분석

명세

문서로 구체화

확인

올바르게 작성되었는지 검토

암기 포인트:

  • 도출 → 분석 → 명세 → 확인

11-5. 요구사항 명세 기법

정형 명세

수학적, 논리적으로 엄밀하게 표현

특징:

  • 명확성 높음
  • 복잡하고 어렵다

비정형 명세

자연어 중심으로 서술

특징:

  • 이해하기 쉬움
  • 모호성 가능

11-6. 요구사항 검증 항목

요구사항이 좋은 요구사항인지 확인하는 기준입니다.

대표 항목:

  • 완전성
  • 일관성
  • 명확성
  • 검증 가능성
  • 추적 가능성
  • 수정 용이성

자주 나오는 용어라서 눈에 익혀야 합니다.


12. 이론 확인문제

문제 1

기능 요구사항의 예로 가장 알맞은 것은?

정답:

  • 회원가입 기능을 제공해야 한다

문제 2

비기능 요구사항의 예로 가장 알맞은 것은?

정답:

  • 응답 시간은 2초 이내여야 한다

문제 3

요구사항 개발 프로세스의 올바른 순서는?

정답:

  • 도출 → 분석 → 명세 → 확인

문제 4

자연어를 이용해 요구사항을 작성하는 방식은?

정답:

  • 비정형 명세

문제 5

요구사항이 서로 충돌 없이 논리적으로 맞아야 한다는 성질은?

정답:

  • 일관성

13. 오늘 복습용 초압축 노트

변수: 값을 저장하는 공간
자료형: 값의 종류

산술연산: + - * / %
비교연산: == != > < >= <=
논리연산: && || !

++a : 먼저 증가
a++ : 나중 증가

if : 참이면 실행
if else : 둘 중 하나 실행
for : 반복 횟수 중심
while : 조건 중심

C/Java : 괄호, 중괄호
Python : 콜론, 들여쓰기

요구사항:
기능 요구사항 = 해야 할 기능
비기능 요구사항 = 품질, 제약 조건

요구사항 개발:
도출 -> 분석 -> 명세 -> 확인

14. 오늘 공부 마무리 체크리스트

  • 변수와 자료형을 구분할 수 있는가
  • 증감 연산 결과를 계산할 수 있는가
  • 조건문과 반복문 결과를 해석할 수 있는가
  • C / Java / Python의 기본 문법 차이를 말할 수 있는가
  • 기능 요구사항과 비기능 요구사항 차이를 설명할 수 있는가
  • 요구사항 개발 순서를 외웠는가
반응형