정보처리기사 키워드 100 인덱스

기술노트

정보처리기사 핵심 IT 용어

각 과목별로 반드시 알아야 할 필수 개념들을 그룹으로 묶어 체계적인 학습이 가능합니다.


📌 소프트웨어 공학

소프트웨어의 전체 개발 과정을 이해하고, 효율적인 개발 방법론과 모델링 기법을 학습하여 고득점의 발판을 마련하세요.

소프트웨어 생명 주기
소프트웨어 개발부터 유지보수까지의 전체 흐름을 정의하는 모델들의 종류와 특징을 이해합니다.
폭포수 모델
각 단계가 명확하게 구분되어 순차적으로 진행되는 고전적인 개발 모델의 특징을 파악합니다.
프로토타이핑 모델
사용자의 요구사항을 명확히 하기 위해 시제품을 만들어 피드백을 받는 모델의 장점을 이해합니다.
나선형 모델
계획, 위험 분석, 개발, 평가를 반복하며 점진적으로 시스템을 개발하는 모델의 핵심을 학습합니다.
애자일 방법론
변화에 유연하게 대응하며 빠르고 반복적인 개발을 중시하는 현대적인 개발 철학입니다.
요구사항 분석
성공적인 프로젝트의 첫 단추인 사용자의 요구를 명확하게 정의하고 문서화하는 과정을 배웁니다.
UML (Unified Modeling Language)
시스템을 시각적으로 표현하고 설계하기 위한 표준화된 모델링 언어의 구성 요소를 학습합니다.
유스케이스 다이어그램
사용자와 시스템 간의 상호작용을 표현하여 시스템의 기능과 범위를 정의하는 방법을 익힙니다.
클래스 다이어그램
시스템의 정적인 구조, 즉 클래스와 그들 간의 관계를 표현하는 핵심 다이어그램입니다.
시퀀스 다이어그램
객체들이 특정 기능을 수행하기 위해 서로 주고받는 메시지의 순서를 시간의 흐름에 따라 보여줍니다.
소프트웨어 아키텍처
소프트웨어의 전체적인 구조와 구성 요소 간의 관계를 정의하는 청사진입니다.
형상 관리
소프트웨어 개발 과정에서 발생하는 모든 산출물의 변경 사항을 체계적으로 관리하고 통제하는 기법입니다.
버전 관리 시스템
코드의 버전을 관리하고 여러 개발자 간의 협업을 지원하는 Git과 같은 도구의 필요성을 이해합니다.



🗃️ 데이터베이스

데이터의 효율적인 관리와 안정적인 운영은 정보 시스템의 핵심입니다. 데이터베이스 설계부터 활용, 복구까지 필수 개념을 마스터하세요.

SQL (DDL, DML, DCL, TCL)
데이터베이스를 정의(DDL), 조작(DML), 제어(DCL, TCL)하기 위한 SQL의 네 가지 핵심 언어를 구분하여 이해합니다.
JOIN
여러 테이블에 흩어져 있는 데이터를 관계를 이용해 하나로 합쳐 조회하는 강력한 SQL 기법입니다.
서브쿼리
하나의 SQL 문 안에 포함된 또 다른 SQL 문으로, 복잡한 조건의 데이터를 조회할 때 사용됩니다.
뷰 (View)
하나 이상의 테이블을 기반으로 만들어진 가상의 테이블로, 보안과 편의성을 높여줍니다.
인덱스 (Index)
데이터 검색 속도를 획기적으로 향상시키는 원리와 구현 방법을 학습하여 성능 최적화의 기초를 다집니다.
병행 제어
여러 사용자가 동시에 데이터베이스에 접근할 때 데이터의 일관성과 무결성을 유지하는 기법입니다.
로킹 (Locking)
병행 제어의 핵심 기법으로, 특정 데이터를 다른 사용자가 동시에 수정하지 못하도록 잠그는 원리를 이해합니다.
데이터베이스 회복
장애 발생 시 데이터베이스를 장애 이전의 일관된 상태로 복구하는 기법의 종류와 특징을 배웁니다.
ACID
데이터베이스 트랜잭션이 안전하게 수행되기 위한 4가지 핵심 특성(원자성, 일관성, 고립성, 지속성)입니다.



⚙️ 운영체제

컴퓨터 시스템의 자원을 효율적으로 관리하는 운영체제의 동작 원리를 이해하여 시스템의 성능과 안정성을 파악하는 능력을 기릅니다.

운영체제 개요
하드웨어와 사용자 사이의 인터페이스 역할을 하는 운영체제의 목적과 핵심 기능을 이해합니다.
프로세스 & 스레드
운영체제 작업 관리의 기본 단위인 프로세스와, 그 안에서 실행되는 더 작은 단위인 스레드의 차이를 명확히 합니다.
프로세스 상태 전이
프로세스가 생성되어 소멸하기까지 거치는 여러 상태(생성, 준비, 실행, 대기, 완료)의 변화 과정을 학습합니다.
CPU 스케줄링
여러 프로세스 중 어떤 프로세스에 CPU를 할당할지 결정하는 다양한 알고리즘(FCFS, SJF, RR 등)을 비교 분석합니다.
교착 상태 (Deadlock)
두 개 이상의 프로세스가 서로의 자원을 기다리며 무한정 대기하는 상태의 발생 조건 4가지를 암기합니다.
교착 상태 해결 방법
교착 상태를 예방, 회피, 발견, 회복하는 4가지 접근법의 특징과 차이를 이해합니다.
메모리 관리 기법
연속 할당, 페이징, 세그먼테이션 등 주 메모리를 효율적으로 관리하는 다양한 기법을 학습합니다.
가상 메모리
실제 메모리 크기보다 더 큰 프로그램을 실행할 수 있게 해주는 기술의 원리와 장점을 이해합니다.
페이징 & 세그먼테이션
가상 메모리를 관리하는 대표적인 두 기법인 페이징(고정 크기 분할)과 세그먼테이션(논리적 크기 분할)을 비교합니다.
페이지 교체 알고리즘
메모리가 가득 찼을 때 어떤 페이지를 내보낼지 결정하는 FIFO, LRU, OPT 등의 알고리즘을 학습합니다.
디스크 스케줄링
디스크 헤드의 이동 거리를 최소화하여 입출력 성능을 향상시키는 FCFS, SSTF, SCAN 등의 알고리즘을 이해합니다.
분산 운영체제
여러 컴퓨터를 하나의 시스템처럼 보이게 하여 자원을 공유하고 신뢰성을 높이는 운영체제의 개념을 파악합니다.
UNIX & Linux 기본 명령어
서버 환경에서 널리 사용되는 UNIX/Linux 시스템을 다루기 위한 필수 명령어들을 익힙니다.



🌐 네트워크 & 보안

데이터 통신의 기본 원리와 정보 보안의 핵심 개념을 이해하여, 안전하고 신뢰성 있는 정보 시스템을 구축하는 역량을 갖춥니다.

OSI 7계층
네트워크 통신의 전 과정을 7개의 논리적인 계층으로 나눈 표준 모델의 각 계층별 역할을 암기합니다.
TCP/IP 프로토콜 스택
현재 인터넷에서 사용하는 핵심 프로토콜 그룹(TCP/IP)이 OSI 7계층과 어떻게 매칭되는지 이해합니다.
TCP & UDP
신뢰성 있는 연결을 제공하는 TCP와, 속도를 중시하는 비연결형 UDP의 특징과 차이점을 비교합니다.
3-way-handshake
TCP에서 신뢰성 있는 연결을 수립하기 위해 3개의 패킷을 주고받는 과정을 학습합니다.
IP 주소
인터넷에 연결된 모든 장치를 식별하는 고유한 주소의 체계(IPv4, IPv6)와 클래스 구조를 이해합니다.
서브네팅 (Subnetting)
하나의 큰 네트워크를 여러 개의 작은 네트워크(서브넷)로 나누어 IP 주소를 효율적으로 사용하는 기법입니다.
라우팅 프로토콜
데이터가 목적지까지 찾아가는 최적의 경로를 설정하는 RIP, OSPF, BGP 등의 프로토콜 종류를 학습합니다.
HTTP & HTTPS
웹 통신의 기반이 되는 프로토콜과, 여기에 보안(SSL/TLS)이 추가된 HTTPS의 차이점을 명확히 이해합니다.
정보 보안 3요소
정보 보안의 목표인 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)의 개념을 이해합니다.
대칭키 & 비대칭키 암호화
암호화와 복호화에 같은 키를 쓰는지(대칭키), 다른 키를 쓰는지(비대칭키)에 따른 암호화 방식의 차이를 비교합니다.
해시 함수
임의의 데이터를 고정된 길이의 값으로 변환하여 데이터의 무결성 검증이나 비밀번호 저장에 사용하는 기술입니다.
방화벽 (Firewall)
외부의 불법적인 접근으로부터 내부 네트워크를 보호하는 가장 기본적인 보안 시스템의 원리를 이해합니다.
SQL 인젝션
악의적인 SQL 구문을 주입하여 데이터베이스를 공격하는 기법의 원리와 대응 방법을 학습합니다.
XSS (Cross-Site Scripting)
웹사이트에 악성 스크립트를 삽입하여 사용자의 정보를 탈취하는 공격의 원리와 방어법을 알아봅니다.
CSRF (Cross-Site Request Forgery)
사용자가 모르는 사이에 공격자가 의도한 행동을 하도록 만드는 공격의 원리와 방어법을 알아봅니다.



💻 프로그래밍 언어 & 응용

실기 시험까지 대비하기 위해 프로그래밍 언어의 핵심 개념과 응용 기술을 정확히 이해하고 넘어갑니다.

객체 지향 프로그래밍
C++, Java, Python 등 주요 언어의 근간이 되는 객체 지향의 4가지 핵심 특징(캡슐화, 상속, 다형성, 추상화)을 암기합니다.
오버로딩 vs 오버라이딩
같은 이름의 메서드를 다르게 사용하는 두 가지 기법의 차이점을 명확히 구분하여 이해합니다.
Java 특징
'Write Once, Run Anywhere'로 대표되는 자바의 특징과 JVM의 역할을 이해합니다.
Python 특징
간결한 문법과 강력한 라이브러리로 무장한 파이썬의 특징과 장점을 파악합니다.
스크립트 언어
컴파일 없이 바로 실행되는 파이썬, 자바스크립트 등 스크립트 언어의 특징을 이해합니다.
쉘 스크립트
운영체제 커널과 사용자 사이의 인터페이스인 쉘에서 사용하는 명령어들로 작성하는 스크립트입니다.
라이브러리 & 프레임워크
개발의 편의성을 높여주는 도구(라이브러리)와 정해진 틀 안에서 개발하는 환경(프레임워크)의 차이를 이해합니다.
MVC 패턴
애플리케이션을 모델, 뷰, 컨트롤러 세 부분으로 나누어 개발하는 디자인 패턴의 개념을 파악합니다.
클린 코드
가독성이 높고 유지보수하기 좋은 코드를 작성하기 위한 원칙과 중요성을 이해합니다.
테스트 코드
소프트웨어의 결함을 찾고 안정성을 높이기 위해 작성하는 테스트의 종류와 목적을 학습합니다.
예외 처리
프로그램 실행 중 발생하는 오류에 대비하여 시스템이 중단되지 않도록 처리하는 기법입니다.