본문 바로가기
자격증

정보처리기사 4과목 프로그래밍 언어 활용 암기 총정리 | 두문자·용어 설명·그림으로 한 번에

by 경이 Kyung I 2026. 9. 29.
반응형

4과목 프로그래밍 언어 활용은 코드 해석, 운영체제, 네트워크가 한데 섞여 있어서 과락이 가장 많이 나오는 과목입니다. 코드 문제는 손으로 따라가 보는 연습이 필요하지만, 운영체제와 네트워크 이론은 두문자와 공식 몇 개로 점수를 확보할 수 있어요.

이 글 하나로 끝낼 수 있게 용어마다 뜻과 예시를 같이 적었고, 스케줄링·페이지 교체·서브넷은 실제로 계산한 예제를 넣었습니다. 프로세스 상태 전이, OSI 7계층, 페이지 교체 과정은 그림으로도 정리했어요.

※ 2026년 9월 기준 정보처리기사 필기 출제기준(5과목 체계)에 맞춰 정리했습니다. 응시 자격·과목 구성·공부 순서는 정보처리기사 시험 과목 총정리 글에서 볼 수 있어요.

이 글의 순서

  1. 핵심 암기 키워드 한눈에 보기
  2. 프로그래밍 언어 기초 (C · Java · Python)
  3. 운영체제
  4. 네트워크와 리눅스
  5. 헷갈리지 않게 외우는 요령
  6. A4 한 장 요약본

1. 핵심 암기 키워드 한눈에 보기

키워드만 보고 오른쪽 내용이 바로 떠오르면 통과입니다. 막히는 항목만 아래 본문에서 다시 보세요.

항목암기 키워드풀어 쓰면
C 연산자 우선순위단산시관비논조대순단항 → 산술 → 시프트 → 관계 → 비트 → 논리 → 조건 → 대입 → 순서
운영체제 성능 평가 기준처반사신처리 능력↑ · 반환 시간↓ · 사용 가능도↑ · 신뢰도↑
프로세스 상태 전이생준실대종생성 → 준비 → 실행 → 대기 → 종료 · 디스패치 · 타이머 런아웃 · 블록 · 웨이크업
CPU 스케줄링HRN = (대기 + 서비스) ÷ 서비스비선점: FCFS · SJF · HRN · 우선순위 · 기한부 / 선점: RR · SRT · MLQ · MLFQ
교착상태상점비환 / 예회발회조건: 상호 배제 · 점유와 대기 · 비선점 · 환형 대기 / 해결: 예방 · 회피(은행원) · 발견 · 회복
기억장치 관리 전략반입 · 배치 · 교체최초 적합(처음 맞는 곳) · 최적 적합(가장 작게 남는 곳) · 최악 적합(가장 크게 남는 곳)
페이지 교체 알고리즘OPT · FIFO · LRU · LFUOPT(앞으로 안 쓸 것) · FIFO(먼저 온 것) · LRU(오래 안 쓴 것) · LFU(적게 쓴 것)
OSI 7계층물데네전세표응물리 · 데이터링크 · 네트워크 · 전송 · 세션 · 표현 · 응용 / 비트 · 프레임 · 패킷 · 세그먼트
IP 주소 체계IPv4 32비트 · IPv6 128비트IPv4 32비트(8×4, 10진) / IPv6 128비트(16×8, 16진, 브로드캐스트 없음)
서브넷 계산호스트 수 = 2ⁿ − 2호스트 수 = 2ⁿ − 2 · 네트워크 주소 = IP AND 마스크 · /26 = 255.255.255.192
리눅스 명령어와 파일 권한r = 4 · w = 2 · x = 1r4 w2 x1 · chmod 754 = rwxr-xr-- · 소유자 · 그룹 · 기타 순서

2. 프로그래밍 언어 기초 (C · Java · Python)

변수명(식별자) 규칙

용어설명
사용 가능한 문자영문 대소문자, 숫자, 밑줄(_) (Java는 $도 가능)
첫 글자숫자로 시작할 수 없음. 예) 1num ✗, num1 ✓, _num ✓
사용 불가공백, 특수 문자(-, @, # 등), 예약어(int, for, class 등)
대소문자대문자와 소문자를 다른 문자로 구분 (Num과 num은 다른 변수)

기본 자료형의 크기

자료형CJava비고
char1바이트2바이트Java는 유니코드라 2바이트
short2바이트2바이트
int4바이트4바이트가장 많이 쓰는 정수형
long4 또는 8바이트8바이트C는 환경에 따라 다름
float4바이트4바이트단정도 실수 (유효숫자 약 7자리)
double8바이트8바이트배정도 실수 (유효숫자 약 15자리)
boolean-1바이트C에는 기본 자료형으로 없음 (C99의 _Bool 제외)

C 연산자 우선순위

암기 키워드 ▸ 단산시관비논조대순

위에 있을수록 먼저 계산합니다. 두문자 그대로 순서예요.

순위구분연산자결합 방향
1단항! ~ ++ -- sizeof (형변환) +부호 -부호오른쪽 → 왼쪽
2산술* / % → + -왼쪽 → 오른쪽
3시프트<< >>왼쪽 → 오른쪽
4관계< <= > >= → == !=왼쪽 → 오른쪽
5비트& → ^ → |왼쪽 → 오른쪽
6논리&& → ||왼쪽 → 오른쪽
7조건(삼항)? :오른쪽 → 왼쪽
8대입= += -= *= /= %= <<= >>= 등오른쪽 → 왼쪽
9순서(콤마),왼쪽 → 오른쪽
시험 포인트 같은 구분 안에서도 순서가 있습니다. 곱셈·나눗셈·나머지가 덧셈·뺄셈보다 먼저, 비트는 & → ^ → |, 논리는 && → || 순서예요.

자주 나오는 연산 결과

연산규칙예시
증감 연산자++a는 먼저 증가하고 사용, a++는 사용한 뒤 증가a = 5일 때 b = a++; → b = 5, a = 6 / b = ++a; → b = 6, a = 6
정수 나눗셈정수끼리 나누면 몫만 남음7 / 2 = 3, 7 % 2 = 1, 7.0 / 2 = 3.5
비트 AND &둘 다 1일 때만 15 & 3 → 101 & 011 = 001 = 1
비트 OR |하나라도 1이면 15 | 3 → 101 | 011 = 111 = 7
비트 XOR ^서로 다르면 15 ^ 3 → 101 ^ 011 = 110 = 6
비트 NOT ~모든 비트를 반전 (결과 = −(n + 1))~5 = −6
시프트<< 1은 ×2, >> 1은 ÷2 (정수)5 << 1 = 10, 5 >> 1 = 2
삼항 연산자조건 ? 참일 때 값 : 거짓일 때 값(3 > 2) ? 10 : 20 → 10
단락 평가A && B에서 A가 거짓이면 B는 실행 안 함 / A || B에서 A가 참이면 B는 실행 안 함if (a > 0 || ++b) → a가 양수면 b는 증가하지 않음

제어문 핵심

용어설명
break가장 가까운 반복문(또는 switch)을 빠져나감
continue이번 반복의 남은 부분을 건너뛰고 다음 반복으로 넘어감
switch의 breakcase 끝에 break가 없으면 아래 case까지 이어서 실행 (fall-through)
do-while조건을 나중에 검사하므로 최소 1번은 실행
for 반복 횟수for (i = 0; i < 10; i += 3) → i = 0, 3, 6, 9로 4번 실행

C 포인터 · 배열 · 구조체

용어설명
& 와 *&변수 = 그 변수의 주소, *포인터 = 포인터가 가리키는 곳의 값
배열과 포인터배열 이름은 첫 원소의 주소. arr == &arr[0], *(arr + i) == arr[i]
포인터 연산int 포인터에 1을 더하면 주소는 4바이트(int 크기)만큼 증가
문자열문자 배열의 끝에는 널 문자 '\0'이 붙음. "abc"는 4바이트를 차지
구조체 멤버 접근변수는 s.name, 포인터는 p->name (= (*p).name)
주요 헤더stdio.h(printf·scanf), stdlib.h(malloc·free·atoi·rand), string.h(strlen·strcpy·strcmp·strcat), math.h(sqrt·pow)

Java 객체지향 문법

용어설명
클래스와 객체클래스는 설계도, 객체(인스턴스)는 new로 만든 실체
생성자클래스 이름과 같고 반환형이 없음. 객체를 만들 때 자동으로 호출
접근 제어자public(어디서나) > protected(같은 패키지 + 상속받은 자식) > default(같은 패키지) > private(같은 클래스 안)
오버로딩한 클래스 안에 이름은 같고 매개변수의 개수나 타입이 다른 메서드를 여러 개 만듦
오버라이딩부모에게 물려받은 메서드를 자식이 같은 형태로 다시 정의. 부모 타입 변수로 불러도 자식의 메서드가 실행됨
static객체 없이 클래스 이름으로 사용. 모든 객체가 하나를 공유
abstract / interface구현이 없는 추상 메서드를 가진 클래스(상속해서 구현) / 구현(implements)해야 하는 규격
this / super자기 자신 / 부모 클래스를 가리킴. super()는 부모 생성자 호출
final변수에 붙이면 상수, 메서드에 붙이면 오버라이딩 금지, 클래스에 붙이면 상속 금지

Python 핵심 문법

용어설명
슬라이싱리스트[시작:끝:간격], 끝 인덱스는 포함 안 함. a = [0, 1, 2, 3, 4] → a[1:4] = [1, 2, 3], a[::-1] = [4, 3, 2, 1, 0], a[-1] = 4
rangerange(시작, 끝, 간격), 끝은 포함 안 함. range(1, 10, 3) → 1, 4, 7
자료형리스트 [ ](수정 가능), 튜플 ( )(수정 불가), 딕셔너리 {키: 값}, 세트 { }(중복 없음·순서 없음)
리스트 메서드append(끝에 하나 추가), extend(리스트 이어 붙이기), insert(위치에 삽입), remove(값으로 삭제), pop(마지막 꺼내기), sort, reverse
연산자/ 는 항상 실수 결과, // 는 몫, % 는 나머지, ** 는 거듭제곱. 7 // 2 = 3, 2 ** 3 = 8
print 옵션print(a, b, sep=',', end='') → sep은 값 사이 구분자, end는 마지막에 붙는 문자(기본 줄바꿈)

3. 운영체제

운영체제 성능 평가 기준

암기 키워드 ▸ 처반사신

용어설명
처리 능력 (Throughput)일정 시간 동안 처리하는 일의 양 → 높을수록 좋음
반환 시간 (Turn Around Time)작업을 맡긴 뒤 결과를 받을 때까지 걸리는 시간 → 짧을수록 좋음
사용 가능도 (Availability)필요할 때 바로 쓸 수 있는 정도 → 높을수록 좋음
신뢰도 (Reliability)문제를 정확하게 해결하는 정도 → 높을수록 좋음

프로세스 · PCB · 스레드

용어설명
프로세스실행 중인 프로그램 (PCB를 가진 프로그램)
PCB (프로세스 제어 블록)프로세스 정보를 저장하는 곳. 프로세스 식별자, 상태, 프로그램 카운터(PC), 레지스터, 스케줄링·우선순위, 메모리 관리 정보, 입출력 상태
스레드프로세스 안의 실행 단위(경량 프로세스). 같은 프로세스의 스레드끼리 자원을 공유
문맥 교환 (Context Switching)CPU를 다른 프로세스에 넘길 때, 지금 상태를 PCB에 저장하고 다음 프로세스의 상태를 불러오는 과정

프로세스 상태 전이

암기 키워드 ▸ 생준실대종

용어설명
생성 (New)프로세스가 만들어진 상태
준비 (Ready)CPU를 받기를 기다리는 상태 (준비 큐에서 대기)
실행 (Running)CPU를 차지하고 실행 중인 상태
대기 (Waiting · Blocked)입출력 같은 이벤트가 끝나기를 기다리는 상태
종료 (Terminated)실행을 마친 상태
디스패치 (Dispatch)준비 → 실행 (CPU를 할당받음)
타이머 런아웃 (Time Run Out)실행 → 준비 (할당 시간이 끝남)
블록 (Block)실행 → 대기 (입출력 요청)
웨이크업 (Wake Up)대기 → 준비 (입출력 완료)
시험 포인트 '대기 → 실행'으로 바로 가는 전이는 없습니다. 입출력이 끝나면 반드시 준비 상태를 거쳐요.

CPU 스케줄링

암기 키워드 ▸ HRN = (대기 + 서비스) ÷ 서비스

구분기법설명
비선점FCFS (FIFO)먼저 도착한 순서대로 처리
비선점SJF실행 시간이 가장 짧은 작업부터 처리 (평균 대기 시간이 가장 짧음). 긴 작업은 계속 밀리는 기아 현상 가능
비선점HRN우선순위 = (대기 시간 + 서비스 시간) ÷ 서비스 시간. 값이 클수록 먼저 → SJF의 기아 현상을 보완
비선점우선순위 · 기한부우선순위가 높은 작업부터 / 정해진 시간 안에 끝내도록 처리
선점RR (라운드 로빈)같은 시간 할당량(Time Slice)만큼씩 돌아가며 실행
선점SRT남은 실행 시간이 가장 짧은 작업부터 (SJF의 선점형)
선점다단계 큐 (MLQ)작업을 그룹별 큐로 나눔. 큐 사이 이동 불가
선점다단계 피드백 큐 (MLFQ)큐 사이 이동이 가능. 오래 기다리면 우선순위가 올라감
공통에이징 (Aging)오래 기다린 작업의 우선순위를 높여 기아 현상을 막는 기법
예시
SJF: A(6초), B(3초), C(8초), D(2초)가 모두 0초에 도착 → 실행 순서 D → B → A → C, 대기 시간 D 0, B 2, A 5, C 11 → 평균 대기 시간 18 ÷ 4 = 4.5초
HRN: A(대기 10, 서비스 5) = 3, B(대기 20, 서비스 20) = 2, C(대기 8, 서비스 2) = 5 → 우선순위 C > A > B

교착상태 (Deadlock)

암기 키워드 ▸ 상점비환 / 예회발회

두 개 이상의 프로세스가 서로가 가진 자원을 기다리며 영원히 멈춰 버린 상태입니다.

용어설명
상호 배제한 번에 한 프로세스만 자원을 사용
점유와 대기자원을 가진 채로 다른 자원을 기다림
비선점다른 프로세스가 가진 자원을 강제로 빼앗을 수 없음
환형 대기프로세스들이 원형으로 서로의 자원을 기다림
예방위 4가지 조건 중 하나를 없애서 애초에 생기지 않게 함
회피안전한 상태를 유지하도록 자원을 할당 — 은행원(Banker's) 알고리즘
발견교착상태가 생겼는지 검사 (자원 할당 그래프 등)
회복교착상태에 빠진 프로세스를 종료하거나 자원을 빼앗아 해결
시험 포인트 4가지 조건이 모두 성립해야 교착상태가 생깁니다. 은행원 알고리즘은 '회피'라는 점이 단골이에요.

기억장치 관리 전략

암기 키워드 ▸ 반입 · 배치 · 교체

용어설명
반입 전략 (Fetch)언제 가져올지 — 요구 반입(필요할 때), 예상 반입(미리)
배치 전략 (Placement)어디에 둘지 — 최초 적합(First Fit), 최적 적합(Best Fit), 최악 적합(Worst Fit)
교체 전략 (Replacement)꽉 찼을 때 무엇을 내보낼지 — FIFO, LRU, LFU, OPT, NUR, SCR
내부 단편화할당한 공간이 필요보다 커서 안쪽에 남는 빈 공간
외부 단편화빈 공간이 너무 작게 흩어져 있어서 할당하지 못하는 공간
예시
빈 공간이 [20K, 10K, 30K, 15K] 순서로 있고 13K를 넣을 때 → 최초 적합: 20K(처음 들어가는 곳) / 최적 적합: 15K(가장 딱 맞게 남는 곳) / 최악 적합: 30K(가장 크게 남는 곳)

페이지 교체 알고리즘

암기 키워드 ▸ OPT · FIFO · LRU · LFU

필요한 페이지가 주기억장치에 없어서(페이지 부재) 새로 가져와야 하는데 자리가 꽉 찼을 때, 어떤 페이지를 내보낼지 정하는 방법입니다.

용어설명
OPT (최적)앞으로 가장 오랫동안 쓰지 않을 페이지를 교체. 부재가 가장 적지만 미래를 알아야 해서 실제 구현은 어려움
FIFO가장 먼저 들어온 페이지를 교체. 프레임을 늘렸는데 부재가 오히려 늘어나는 벨레이디의 모순이 생길 수 있음
LRU가장 오랫동안 사용하지 않은(가장 옛날에 쓴) 페이지를 교체
LFU사용한 횟수가 가장 적은 페이지를 교체
NUR최근에 사용하지 않은 페이지를 교체. 참조 비트와 변형 비트를 사용
SCR (2차 기회)FIFO로 고르되, 참조 비트가 1이면 한 번 더 기회를 줌
시험 포인트 계산 문제는 그림처럼 표를 그려서 한 칸씩 채우면 됩니다. 이미 있는 페이지면 '적중(Hit)', 없으면 '부재(F)'로 표시하고 F의 개수를 세세요.

스래싱 · 워킹 셋 · 구역성 · 페이징

용어설명
스래싱 (Thrashing)페이지 부재가 너무 잦아서 실제 실행보다 페이지 교체에 더 많은 시간을 쓰는 현상 → CPU 이용률이 뚝 떨어짐
워킹 셋 (Working Set)일정 시간 동안 자주 참조하는 페이지들의 집합. 이것을 주기억장치에 두어 스래싱을 줄임
구역성 (Locality)시간 구역성: 최근에 참조한 곳을 곧 다시 참조(반복문, 스택) / 공간 구역성: 참조한 곳의 근처를 참조(배열 순회)
페이지 부재 빈도 (PFF)페이지 부재율에 따라 할당할 프레임 수를 늘리거나 줄임
페이징 vs 세그먼테이션페이징은 같은 크기로 나눔(내부 단편화 발생) / 세그먼테이션은 논리적 단위로 크기가 다르게 나눔(외부 단편화 발생)

4. 네트워크와 리눅스

OSI 7계층

암기 키워드 ▸ 물데네전세표응

계층하는 일데이터 단위대표 프로토콜 · 장비
7 응용사용자와 직접 연결되는 서비스 제공메시지(데이터)HTTP, FTP, SMTP, DNS, Telnet
6 표현데이터 형식 변환, 암호화, 압축메시지JPEG, MPEG, ASCII
5 세션통신 연결(세션)을 만들고 유지, 동기화메시지NetBIOS, RPC
4 전송양 끝 사이의 신뢰성 있는 전송, 흐름·오류 제어세그먼트TCP, UDP
3 네트워크경로 설정(라우팅), 논리 주소(IP)패킷IP, ICMP, ARP / 라우터
2 데이터링크이웃한 노드 사이의 전송, 흐름·오류 제어, MAC 주소프레임이더넷, HDLC / 스위치, 브리지
1 물리전기적·기계적 신호로 비트를 전송비트RS-232C / 허브, 리피터
시험 포인트 아래(1계층)부터 '물데네전세표응', 위(7계층)부터는 '응표세전네데물'. 데이터 단위 '비트-프레임-패킷-세그먼트'와 장비 '허브(1)-스위치(2)-라우터(3)'도 짝으로 나옵니다.

TCP/IP 프로토콜과 포트 번호

용어설명
TCP연결형, 신뢰성 보장(순서·재전송), 흐름·혼잡 제어. 3-way handshake로 연결 (SYN → SYN+ACK → ACK)
UDP비연결형, 신뢰성보다 속도. 실시간 스트리밍, DNS 질의 등
IP패킷의 주소 지정과 경로 설정 (비연결형, 신뢰성 보장 안 함)
ICMP오류 메시지와 제어 메시지 전달 (ping 명령)
ARP / RARPIP 주소 → MAC 주소로 변환 / MAC 주소 → IP 주소로 변환
IGMP멀티캐스트 그룹 관리
주요 포트FTP 20·21, SSH 22, Telnet 23, SMTP 25, DNS 53, HTTP 80, POP3 110, IMAP 143, HTTPS 443
TCP/IP 4계층응용(OSI 5~7) · 전송(4) · 인터넷(3) · 네트워크 액세스(1~2)

IP 주소 체계

암기 키워드 ▸ IPv4 32비트 · IPv6 128비트

용어설명
IPv432비트. 8비트씩 4부분으로 나눠 점(.)으로 구분한 10진수 (예: 192.168.0.1)
IPv6128비트. 16비트씩 8부분으로 나눠 콜론(:)으로 구분한 16진수. 주소가 매우 많고, 보안(IPSec)·자동 구성·품질 보장(QoS) 기능이 좋아짐
IPv6 전송 방식유니캐스트(1:1), 멀티캐스트(1:다수 그룹), 애니캐스트(가장 가까운 1개) — 브로드캐스트는 없음
IPv4 클래스A: 0~127(/8, 대규모) · B: 128~191(/16) · C: 192~223(/24, 소규모) · D: 224~239(멀티캐스트) · E: 240~255(연구용)
IPv4 → IPv6 전환듀얼 스택(둘 다 사용), 터널링(IPv6를 IPv4로 감싸 전송), 헤더 변환

서브넷 계산

암기 키워드 ▸ 호스트 수 = 2ⁿ − 2

용어설명
서브넷 마스크네트워크 부분은 1, 호스트 부분은 0. /26 = 255.255.255.192 (마지막 8비트 중 앞 2비트가 1)
호스트 수2^(호스트 비트 수) − 2 (네트워크 주소와 브로드캐스트 주소 2개를 뺌)
네트워크 주소IP 주소와 서브넷 마스크를 AND 연산한 값 (그 구간의 첫 주소)
브로드캐스트 주소그 구간의 마지막 주소
예시
192.168.1.0/26 → 호스트 비트 6개 → 2⁶ − 2 = 62개, 서브넷 4개(0~63, 64~127, 128~191, 192~255)
192.168.1.70/26 → 70은 64~127 구간 → 네트워크 주소 192.168.1.64, 브로드캐스트 주소 192.168.1.127

리눅스 명령어와 파일 권한

암기 키워드 ▸ r = 4 · w = 2 · x = 1

용어설명
기본 명령어ls(목록), cd(이동), pwd(현재 위치), cp(복사), mv(이동·이름 변경), rm(삭제), mkdir·rmdir(디렉터리 생성·삭제), cat(내용 보기)
관리 명령어chmod(권한 변경), chown(소유자 변경), ps(프로세스 목록), kill(프로세스 종료), fork(프로세스 생성)
권한 표기-rwxr-xr-x → 첫 글자는 종류(- 파일, d 디렉터리), 다음 3자리씩 소유자 · 그룹 · 기타 사용자
숫자 표기r(읽기) = 4, w(쓰기) = 2, x(실행) = 1을 더함 → rwx = 7, r-x = 5, r-- = 4
chmod 예시chmod 754 file → 소유자 rwx(7), 그룹 r-x(5), 기타 r--(4)

5. 헷갈리지 않게 외우는 요령

  • OSI 7계층은 아래부터 '물 데 네 전 세 표 응'을 리듬으로 외우세요. 장비는 '허브 1층, 스위치 2층, 라우터 3층'처럼 건물 층수로 기억하면 끝납니다.
  • 교착상태는 '상점비환(상점에서 비환불)'으로 조건 4개, '예회발회'로 해결 4개. 은행원 알고리즘이 '회피'라는 것까지 한 세트로 외우세요.
  • C 연산자 우선순위 '단산시관비논조대순'은 소리 내서 열 번 읽어 두면 됩니다. 필기뿐 아니라 실기 코드 문제까지 이어지는, 가장 가성비 좋은 암기예요.

6. A4 한 장 요약본

위 내용을 키워드만 남겨 A4 한 장으로 줄였습니다. 이미지를 저장해서 출력하거나 휴대폰에 넣어 두고 시험 직전에 훑어보세요.

마무리

두문자는 뜻을 모른 채 외우면 금방 잊힙니다. 키워드 → 풀어 쓰기 → 기출 한 문제 순서로 이어 두면 필기는 물론 실기 단답형까지 그대로 연결돼요. 나머지 과목 암기 총정리도 같은 형식으로 정리해 두었습니다.

※ 두문자는 수험생들 사이에서 흔히 쓰는 암기 요령이며, 표현은 수험서마다 조금씩 다를 수 있습니다. 세부 출제기준은 Q-net 공지로 최종 확인하세요.

반응형

댓글