시험 직전 빠르게 핵심 용어를 점검하고 싶을 때 쓸 수 있도록 분야별로 중요한 용어들을 정리했습니다. 용어의 정확한 이름과 간결한 정의를 익혀두면 서술형 문제에서 헤매지 않고 바로 쓸 수 있습니다. 특히 비슷한 용어를 헷갈리는 경우가 많기 때문에, 각 용어의 핵심 차이점도 함께 정리했어요.

1. 소프트웨어 공학 핵심 용어

용어정의
SDLC소프트웨어 개발 생명주기. 요구분석→설계→구현→테스트→배포→유지보수
애자일(Agile)반복적·점진적 개발 방법론. 짧은 스프린트(Sprint)로 기능 단위 개발. 변화에 유연하게 대응
스크럼(Scrum)애자일 프레임워크. 스프린트(1~4주), 데일리 스크럼, 스프린트 리뷰로 구성
XP(eXtreme Programming)애자일 방법론. 페어 프로그래밍, TDD, 리팩토링, 지속적 통합 강조
폭포수 모델각 단계를 순차적으로 진행하는 전통적 모델. 이전 단계 완료 후 다음 단계 진행. 변경 비용 높음
나선형 모델위험 분석 중심. 계획→위험 분석→개발→평가를 반복. 대형 시스템에 적합
프로토타이핑 모델요구사항이 불분명할 때 시제품 먼저 개발해 피드백 수집
CMM/CMMI소프트웨어 개발 조직의 성숙도 평가 모델. 초기~최적화 5단계
DevOps개발(Dev)과 운영(Ops) 통합. CI/CD 파이프라인으로 지속적 배포
CI/CD지속적 통합(CI)과 지속적 배포(CD). 코드 변경을 자동으로 테스트·배포
리팩토링기능 변경 없이 코드의 구조·가독성·성능을 개선하는 작업
기술 부채빠른 개발을 위해 타협한 코드 품질이 나중에 추가 작업(이자)을 요구하는 개념

2. 객체지향 핵심 용어

용어정의
캡슐화(Encapsulation)데이터와 메서드를 하나로 묶고, 내부 구현을 외부에서 접근하지 못하도록 숨김
상속(Inheritance)부모 클래스의 속성과 메서드를 자식 클래스가 물려받는 것. 코드 재사용성 향상
다형성(Polymorphism)같은 이름의 메서드가 클래스에 따라 다르게 동작. 오버라이딩, 오버로딩
추상화(Abstraction)복잡한 현실을 단순화하여 핵심 개념만 모델링. 공통 특징 추출
오버라이딩(Overriding)부모 클래스 메서드를 자식 클래스에서 재정의. 런타임 다형성
오버로딩(Overloading)같은 이름의 메서드를 매개변수 타입·개수를 달리해 여러 개 정의. 컴파일 타임
인터페이스구현 없이 메서드 시그니처만 선언. 클래스가 반드시 구현해야 할 계약
추상 클래스인스턴스 생성 불가. 공통 구현 + 추상 메서드 혼합. 상속용 베이스 클래스
의존성 주입(DI)객체가 필요로 하는 의존 객체를 외부에서 주입. 결합도 낮춤
싱글톤(Singleton)클래스의 인스턴스가 딱 1개만 존재하도록 보장하는 디자인 패턴

3. 데이터베이스 핵심 용어

용어정의
스키마(Schema)데이터베이스의 구조와 제약 조건을 기술한 메타데이터. 외부/개념/내부 스키마
DDL데이터 정의어. CREATE, ALTER, DROP, TRUNCATE
DML데이터 조작어. SELECT, INSERT, UPDATE, DELETE
DCL데이터 제어어. GRANT, REVOKE
TCL트랜잭션 제어어. COMMIT, ROLLBACK, SAVEPOINT
뷰(View)하나 이상의 테이블을 기반으로 만든 가상 테이블. 독립적으로 저장 공간 없음
함수적 종속속성 A가 결정되면 속성 B가 유일하게 결정됨. 표기: A → B
후보키기본키가 될 수 있는 최소한의 속성 집합. 유일성 + 최소성
기본키(PK)튜플을 유일하게 식별하는 속성(들). NULL 불가, 중복 불가
외래키(FK)다른 테이블의 기본키를 참조하는 속성. 참조 무결성 유지
카디널리티릴레이션에서 행(튜플)의 수. 또는 속성이 가질 수 있는 값의 종류 수
차수(Degree)릴레이션에서 속성(열)의 수

4. 네트워크 핵심 용어

용어정의
패킷(Packet)네트워크에서 전송하는 데이터 단위. 헤더(제어 정보) + 페이로드(실제 데이터)
MAC 주소네트워크 인터페이스 카드에 할당된 48비트 물리적 주소. 변경 불가
NAT네트워크 주소 변환. 사설 IP ↔ 공인 IP 변환. 공인 IP 절약
DNS도메인 이름을 IP 주소로 변환하는 시스템. 계층적 구조
DHCPIP 주소를 자동으로 할당하는 프로토콜. 동적 주소 관리
포트(Port)프로세스를 식별하는 16비트 번호(0~65535). Well-known 포트는 0~1023
소켓네트워크 통신의 엔드포인트. IP 주소 + 포트 번호로 구성
라우팅패킷이 목적지까지 가는 경로를 결정하는 과정
방화벽설정된 규칙에 따라 패킷을 허용·차단하는 보안 장치
CDN콘텐츠를 지리적으로 분산된 서버에 캐싱해 사용자에게 빠르게 제공

5. 보안 핵심 용어

용어정의
기밀성(Confidentiality)인가된 사용자만 정보에 접근할 수 있어야 함
무결성(Integrity)정보가 인가되지 않은 방식으로 변경되지 않아야 함
가용성(Availability)인가된 사용자가 필요할 때 정보에 접근 가능해야 함
인증(Authentication)사용자의 신원을 확인하는 과정. "당신이 누구인지 증명"
인가(Authorization)인증된 사용자에게 리소스 접근 권한을 부여하는 과정. "무엇을 할 수 있는지 결정"
부인 방지(Non-repudiation)행위를 나중에 부인할 수 없도록 하는 것. 전자서명으로 제공
공개키 인증서CA(인증기관)가 발급한 공개키 소유자 신원 보증 문서
세션 토큰인증 후 서버가 클라이언트에게 발급하는 임시 식별자
OWASP Top 10웹 애플리케이션 보안 위협 상위 10개. SQL 인젝션, XSS 등 포함
제로데이(Zero-day)아직 패치가 없는 취약점을 이용한 공격. 공개 직후 또는 공개 전 공격

6. 운영체제 핵심 용어

용어정의
커널(Kernel)운영체제의 핵심. 하드웨어와 소프트웨어 사이의 중재자. 메모리/프로세스 관리
셸(Shell)사용자와 커널 사이의 인터페이스. 명령어를 해석하여 커널에 전달
PCB프로세스 제어 블록. 프로세스 상태, PID, 레지스터 값 등을 저장하는 자료구조
컨텍스트 스위칭현재 실행 중인 프로세스의 상태를 저장하고 다음 프로세스로 전환하는 과정
스래싱(Thrashing)페이지 폴트가 너무 잦아 실제 작업보다 페이지 교체에 더 많은 시간 소비
임계 영역공유 자원에 접근하는 코드 구역. 동시에 하나의 프로세스만 진입 가능
뮤텍스(Mutex)잠금/해제 소유권이 같은 스레드에 있는 상호 배제 도구
세마포어정수 카운터로 공유 자원 접근 제어. 카운팅 세마포어는 여러 자원 관리
인터럽트CPU에게 즉시 처리가 필요한 이벤트를 알리는 신호. 하드웨어/소프트웨어 인터럽트
시스템 콜사용자 프로그램이 OS 서비스를 요청하는 방법. 커널 모드로 전환
🎯 헷갈리는 용어 쌍 정리
✔ 인증(Authentication) vs 인가(Authorization): 인증은 "누구인지", 인가는 "무엇을 할 수 있는지"
✔ 오버라이딩 vs 오버로딩: 오버라이딩은 상속 관계에서 재정의, 오버로딩은 같은 클래스에서 다른 매개변수
✔ 뮤텍스 vs 세마포어: 뮤텍스는 소유권 있음, 세마포어는 카운터로 여러 자원 관리
✔ DDL vs DML: DDL은 구조 변경(CREATE/ALTER/DROP), DML은 데이터 조작(SELECT/INSERT/UPDATE/DELETE)
💡 용어 암기 효율화 방법
모든 용어를 다 외우려 하면 지칩니다. 자주 등장하는 100개 핵심 용어를 먼저 잡고, 이해가 되는 것부터 확실히 외운 후 점점 범위를 넓혀가세요. 영문 약자가 있는 용어는 Full Name도 함께 알아두면 서술형에서 점수를 챙길 수 있습니다.

마무리

이 용어집을 처음부터 끝까지 외우려 하지 말고, 공부 중 모르는 용어가 나올 때마다 찾아보는 사전처럼 활용하세요. 시험 전날에는 자주 헷갈렸던 용어들만 빠르게 훑어보는 것이 효과적입니다. 개념을 이해하고 정확한 이름을 알아야 서술형 시험에서 제대로 쓸 수 있다는 점, 꼭 기억하세요.