시험장에서 떠오르는 한 줄

빈출 핵심

핵심 개념을 30초 암기하고 즉시 3문제로 확인합니다. 실제 출제 횟수 통계는 아직 집계하지 않았습니다.

Java🔥 반드시01

오버라이딩과 실제 객체

재정의된 인스턴스 메서드는 실제 객체에서 찾습니다.

Vehicle v = new Car();에서 Vehicle은 손잡이의 설명서이고 Car는 실제 자동차입니다. v.run()은 자동차가 구현한 동작을 실행합니다. 같은 이름의 부모 메서드를 자식이 다시 구현하면 실제 자식 객체의 메서드가 선택됩니다. extends는 부모의 기능을 물려받는다는 뜻입니다.

관련 유형: 코드 출력 / 객관식 / OX

즉시 3문제
Java🔥 반드시02

필드와 메서드의 선택 기준

필드는 참조 선언 타입, 오버라이딩 메서드는 실제 객체 기준입니다.

부모와 자식이 같은 이름의 필드를 갖더라도 두 저장칸이 따로 있습니다. Parent p = new Child();에서 p.value는 Parent의 필드를 읽습니다. p.name()이 재정의된 메서드라면 Child의 메서드를 실행합니다. 먼저 점 뒤에 괄호가 있는지 확인하면 두 규칙을 구분할 수 있습니다.

관련 유형: 코드 출력 / 객관식

즉시 3문제
Java🔥 반드시03

오버로딩과 매개변수 타입

같은 이름의 메서드 중 매개변수 타입에 맞는 것을 컴파일할 때 선택합니다.

메서드 이름이 같아도 받는 재료가 다르면 별개의 메서드입니다. f(int)와 f(double)이 있다면 정수 인자는 int 버전에 맞습니다. 부모 타입으로 선언한 변수를 넘기면 실제 객체가 자식이어도 선언 타입으로 오버로딩 후보를 고릅니다.

관련 유형: 코드 출력 / 빈칸 / OX

즉시 3문제
Java⭐ 빈출04

업캐스팅과 부모 참조

자식 객체를 부모 타입 변수로 다룰 수 있지만 보이는 멤버는 부모 타입 기준입니다.

Car 객체는 Vehicle의 일종이므로 Vehicle 변수에 넣을 수 있습니다. 자동차 자체가 버스로 바뀌는 것이 아니라, 부모 설명서로 자동차를 다루는 것입니다. 부모가 선언한 메서드를 호출할 수 있고, 그 메서드를 자식이 재정의했다면 자식 동작을 실행합니다.

관련 유형: 코드 출력 / 객관식

즉시 3문제
Java⭐ 빈출05

다운캐스팅과 실제 객체 확인

부모 참조를 자식 타입으로 바꿀 때 실제 객체가 그 자식인지 확인합니다.

부모 손잡이 뒤에 실제 Car가 있다면 (Car)v로 Car 전용 동작에 접근할 수 있습니다. 실제 객체가 단순 Vehicle이면 강제로 Car라고 적어도 자동차가 되지 않습니다. instanceof로 확인하면 잘못된 변환을 피할 수 있습니다.

관련 유형: 코드 출력

즉시 3문제
Java🔥 반드시06

상속과 생성자 실행 순서

객체를 만들 때 부모 생성자 본문이 자식 생성자 본문보다 먼저 실행됩니다.

자식 집을 짓기 전에 부모가 마련한 기초를 먼저 만듭니다. new Child()를 실행하면 Child 생성자의 super()를 통해 Parent 생성자를 거친 후 Child의 본문으로 돌아옵니다. 여러 단계 상속이면 가장 위쪽 부모부터 본문을 추적합니다.

관련 유형: 코드 출력 / 빈칸

즉시 3문제
Java🔥 반드시07

static 필드와 객체별 필드

static 필드는 클래스가 공유하고 인스턴스 필드는 객체마다 따로 존재합니다.

두 카운터 객체를 만들어도 static total은 한 장의 공동 장부입니다. 반면 각 객체의 value는 개인 장부입니다. 객체를 만들 때 total을 증가시키면 어떤 객체로 읽어도 같은 공동 합계가 보입니다.

관련 유형: 코드 출력

즉시 3문제
Java⭐ 빈출08

interface와 구현 객체

인터페이스 타입으로 구현 객체를 다루며 implements로 계약을 이행합니다.

인터페이스는 어떤 동작을 제공해야 하는지 적은 약속입니다. Printer 계약의 print()를 실제 구현 클래스가 채웁니다. 인터페이스 참조로 호출할 때도 실제 구현 객체의 동작이 실행됩니다. default 메서드는 기본 동작을 제공할 수 있습니다.

관련 유형: 코드 출력

즉시 3문제
Java⭐ 빈출09

try와 catch 실행 경로

예외가 발생하면 try의 남은 문장을 건너뛰고 맞는 catch로 이동합니다.

계산하다 문제가 발생하면 정상 순서를 멈추고 처리 창구로 갑니다. 배열 범위를 벗어나면 그 뒤의 try 문장은 실행되지 않습니다. 예외가 없으면 catch는 건너뜁니다. 문제에서 예외가 발생하는 정확한 줄을 먼저 찾습니다.

관련 유형: 코드 출력

즉시 3문제
Java⭐ 빈출10

finally와 반환값 추적

일반적인 try/catch 종료 때 finally가 실행되며 반환값 계산 시점을 구분합니다.

return x를 만나면 돌려줄 값이 먼저 정해집니다. finally에서 지역 변수 x를 바꿔도 이미 계산한 정수 반환값은 바뀌지 않습니다. finally 안에 새로운 return이 있으면 앞의 반환을 덮어쓰므로 별도로 추적해야 합니다.

관련 유형: 코드 출력

즉시 3문제
Java🔥 반드시11

배열 인덱스와 반복 계산

배열의 첫 인덱스는 0이고 마지막 인덱스는 length - 1입니다.

네 칸짜리 배열의 번호는 0, 1, 2, 3입니다. 반복문에서 i < a.length를 쓰면 마지막 유효 칸까지 방문합니다. 합계 문제는 i와 a[i]와 누적합을 세 열로 적으면 덜 헷갈립니다.

관련 유형: 코드 출력

즉시 3문제
Java⭐ 빈출12

배열 참조 공유와 메서드 인자

배열 인자는 참조값의 복사이므로 같은 배열의 원소 변경은 전달자에게도 보입니다.

메서드에 배열을 넘기면 같은 보관함을 가리키는 손잡이가 복사됩니다. a[0]을 바꾸면 원래 배열도 바뀝니다. 하지만 매개변수에 new 배열을 다시 대입하면 그 지역 손잡이만 다른 보관함으로 옮깁니다.

관련 유형: 코드 출력

즉시 3문제
Java🔥 반드시13

String 내용 비교와 문자열 연산

String 내용 비교에는 equals를 사용하고 인덱스 범위는 끝 직전까지입니다.

==는 두 손잡이가 같은 객체를 가리키는지 묻습니다. equals는 글자가 같은지 묻습니다. new String("DB")로 두 객체를 만들면 내용은 같아도 손잡이는 다릅니다. substring(1, 3)은 인덱스 1과 2의 글자를 가져옵니다.

관련 유형: 코드 출력

즉시 3문제
Java🔥 반드시14

재귀와 호출 복귀

재귀는 종료 조건까지 호출한 뒤 되돌아오며 남은 계산을 수행합니다.

f(n)이 n + f(n-1)을 반환하면 안쪽 호출 결과가 나와야 바깥 덧셈을 끝낼 수 있습니다. f(3) → f(2) → f(1) → f(0)으로 내려가고 0 → 1 → 3 → 6으로 올라갑니다.

관련 유형: 코드 출력

즉시 3문제
C🔥 반드시15

배열과 인덱스

배열의 첫 원소는 0번이며 유효한 인덱스 범위 안에서 접근합니다.

int a[3]은 연속된 세 정수 저장칸입니다. 번호는 0, 1, 2입니다. 초기화가 있는 나머지 칸은 0으로 채워질 수 있지만 초기화하지 않은 지역 배열을 임의로 읽으면 안전한 출력 문제가 아닙니다.

관련 유형: 코드 출력

즉시 3문제
C🔥 반드시16

C 문자열과 널 문자

C 문자열은 문자 배열이며 끝에 널 문자 \0이 들어갑니다.

"SQL"은 S, Q, L, 끝 표시 네 칸을 사용합니다. strlen은 끝 표시 전 글자 수 3을 셉니다. sizeof 배열은 끝 표시까지 포함한 저장 공간을 셉니다. 중간에 \0을 넣으면 문자열 출력은 그 자리에서 멈춥니다.

관련 유형: 코드 출력

즉시 3문제
C🔥 반드시17

주소 연산자와 가리키는 대상

&x는 x의 주소이고 *p는 p가 가리키는 저장칸의 값입니다.

변수는 값이 들어 있는 칸이며 주소는 그 칸을 찾는 위치 정보입니다. int *p = &x;는 p에 x의 위치를 넣습니다. *p = 9;를 실행하면 p 자체가 아니라 x의 저장칸을 바꿉니다.

관련 유형: 코드 출력 / 빈칸

즉시 3문제
C🔥 반드시18

포인터와 역참조

포인터는 주소를 저장하며 역참조로 가리키는 값을 읽거나 수정합니다.

포인터 p를 택배 배송지, *p를 그 배송지의 물건이라고 생각해 보세요. p = &b는 배송지를 b로 바꾸는 일입니다. *p = 10은 현재 배송지의 물건을 10으로 바꾸는 일입니다. 두 동작을 구분하는 것이 포인터 문제의 핵심입니다.

관련 유형: 코드 출력 / 빈칸

즉시 3문제
C🔥 반드시19

배열과 포인터의 연결

대부분의 식에서 배열 이름은 첫 원소를 가리키는 포인터로 변환됩니다.

int *p = a;이면 p는 a[0]을 가리킵니다. *(p+2)는 같은 배열의 두 칸 뒤 값을 뜻해 a[2]와 같습니다. 포인터 덧셈은 바이트 수를 직접 더하는 것이 아니라 가리키는 타입의 원소 단위로 이동합니다.

관련 유형: 코드 출력 / OX

즉시 3문제
C🔥 반드시20

포인터 연산과 이동

p + k는 같은 배열에서 k개의 원소만큼 이동한 위치입니다.

정수 배열의 시작을 가리키는 p에 2를 더하면 두 번째가 아니라 인덱스 2인 세 번째 원소를 가리킵니다. p++를 별도 문장으로 실행하면 다음 원소로 이동합니다. 마지막 다음 주소는 만들 수 있지만 값을 읽을 수는 없습니다.

관련 유형: 코드 출력 / OX

즉시 3문제
C🔥 반드시21

후위 증가

x++는 현재 값을 식에 제공한 후 x를 1 증가시킵니다.

a = x++;라면 먼저 예전 x를 a에 넣고 x는 하나 증가합니다. 다음 문장의 x는 증가한 값입니다. 표에 문장 종료 후 상태를 적어 두면 한 문장 안의 사용값과 다음 문장 값을 구분할 수 있습니다.

관련 유형: 코드 출력 / 객관식

즉시 3문제
C🔥 반드시22

전위 증가

++x는 x를 1 증가시킨 값을 식에 제공합니다.

a = ++x;라면 x를 먼저 하나 올리고 같은 새 값을 a에 넣습니다. 증가 연산을 한 줄씩 나누어 보면 전위와 후위가 어디서 다른지 쉽게 확인할 수 있습니다.

관련 유형: 코드 출력 / 객관식

즉시 3문제
C⭐ 빈출23

함수 인자의 값 전달

일반 정수 인자는 값이 복사되므로 매개변수만 바꿔도 호출자 변수는 그대로입니다.

함수는 전달받은 숫자의 복사본을 자기 작업대에서 사용합니다. void change(int x)에서 x=9를 해도 밖의 변수 a는 바뀌지 않습니다. 반환값을 밖에서 저장하면 그때 호출자 변수가 바뀝니다.

관련 유형: 코드 출력 / OX

즉시 3문제
C⭐ 빈출24

주소 전달로 원본 수정

함수에 변수 주소를 넘기고 역참조하면 호출자 저장칸을 수정할 수 있습니다.

change(&a)로 a의 배송지를 함수에 줍니다. 함수의 int *p는 주소의 복사본이지만 *p는 원래 a의 칸입니다. 따라서 *p += 3은 호출자 a에도 반영됩니다.

관련 유형: 코드 출력

즉시 3문제
C⭐ 빈출25

구조체와 멤버

구조체는 여러 값을 하나로 묶으며 일반 변수의 멤버는 .으로 접근합니다.

학생의 점수와 번호를 한 묶음에 저장할 수 있습니다. struct Student s의 s.score는 점수 칸입니다. 같은 구조체끼리 대입하면 각 멤버 값이 복사되므로 별도 구조체 변수의 정수 멤버를 바꿔도 원본은 그대로입니다.

관련 유형: 코드 출력

즉시 3문제
C⭐ 빈출26

구조체 포인터와 화살표

p->member는 (*p).member와 같은 멤버 접근입니다.

p가 구조체의 주소를 갖고 있으면 p->score로 그 구조체의 점수에 접근합니다. 화살표는 먼저 주소를 따라간 후 멤버를 찾는 축약입니다. 구조체 배열에서는 p++로 다음 구조체로 이동할 수 있습니다.

관련 유형: 코드 출력

즉시 3문제
C🔥 반드시27

재귀와 종료 조건

재귀 함수는 종료 조건에 도달한 뒤 호출 순서의 역순으로 복귀합니다.

sum(3)은 3 + sum(2)를 기다립니다. sum(2)는 2 + sum(1)을 기다립니다. 0에서 멈춘 뒤 1, 3, 6 순으로 결과가 올라옵니다. 호출 횟수와 반환값을 따로 기록하면 잘 풀립니다.

관련 유형: 코드 출력

즉시 3문제
C🔥 반드시28

이중 포인터

int **pp는 int 포인터의 주소를 저장하며 **pp로 정수 칸에 접근합니다.

주소를 담은 p도 변수이므로 p 자신의 주소를 가질 수 있습니다. pp = &p이면 *pp는 p이고 **pp는 p가 가리키는 정수입니다. *pp = &b는 p의 배송지를 b로 바꿉니다.

관련 유형: 코드 출력 / 객관식

즉시 3문제
C⭐ 빈출29

비트 AND와 마스크

비트 AND는 같은 자리의 비트가 둘 다 1일 때 1입니다.

13을 4자리 이진수로 쓰면 1101입니다. 13 & 3은 1101 & 0011이므로 0001, 즉 1입니다. 마스크는 확인하고 싶은 자리만 1로 만든 필터입니다.

관련 유형: 코드 출력

즉시 3문제
C⭐ 빈출30

비트 이동

부호 없는 정수의 왼쪽 이동은 비트를 왼쪽으로 옮기고 오른쪽 이동은 낮은 자리를 버립니다.

작은 unsigned 값 3은 0011입니다. 3u << 2는 1100, 즉 12입니다. 13u >> 2는 낮은 두 비트를 버려 3이 됩니다. 문제는 타입 폭을 넘지 않는 작은 이동만 사용합니다.

관련 유형: 코드 출력

즉시 3문제
C⭐ 빈출31

sizeof와 배열 길이

실제 배열의 원소 수는 sizeof 배열 / sizeof 첫 원소로 구할 수 있습니다.

각 정수 칸의 바이트 크기가 환경마다 달라도 전체 배열 바이트를 한 칸 바이트로 나누면 원소 수가 나옵니다. 일반 int *p 변수의 sizeof는 배열 전체 크기가 아닙니다.

관련 유형: 코드 출력

즉시 3문제
Python🔥 반드시32

List와 원소 변경

List는 순서가 있고 원소를 바꿀 수 있습니다.

리스트는 번호가 붙은 보관함입니다. a[0]은 첫 칸이며 append는 맨 뒤에 새 칸을 붙입니다. insert는 지정 위치 앞에 끼워 넣고 pop은 원소를 꺼내며 리스트에서도 제거합니다.

관련 유형: 코드 출력 / 객관식

즉시 3문제
Python⭐ 빈출33

Tuple과 한 원소 튜플

Tuple은 원소를 직접 바꿀 수 없으며 한 원소 튜플은 쉼표가 필요합니다.

(3,)은 튜플이고 (3)은 괄호로 둘러싼 정수입니다. 튜플의 원소 자리를 바꾸는 t[0]=9는 오류가 납니다. 새로운 튜플을 더해 t에 재대입하는 것은 가능합니다.

관련 유형: 코드 출력

즉시 3문제
Python🔥 반드시34

Dictionary와 키 갱신

Dictionary는 키로 값을 찾으며 같은 키에 다시 대입하면 값을 갱신합니다.

사물함 번호 대신 이름표로 값을 찾는 자료형입니다. d["SQL"] = 3 뒤에 같은 키로 5를 넣으면 항목 두 개가 아니라 그 값이 5로 바뀝니다. get은 없는 키의 기본값을 지정할 수 있습니다.

관련 유형: 코드 출력 / 객관식

즉시 3문제
Python🔥 반드시35

Set과 집합 연산

Set은 중복을 제거하며 출력 순서를 전제로 하지 않습니다.

같은 물건을 여러 번 넣어도 하나만 남는 집합입니다. |는 합집합, &는 교집합, -는 차집합입니다. 결과를 출력할 때 sorted를 쓰면 정해진 순서로 비교할 수 있습니다.

관련 유형: 코드 출력 / OX

즉시 3문제
Python🔥 반드시36

Slice와 시작·끝·간격

a[start:stop:step]은 시작을 포함하고 끝은 제외합니다.

a[1:4]는 1, 2, 3번 칸입니다. a[::2]는 처음부터 두 칸씩 고르고 a[::-1]은 거꾸로 읽습니다. 생략한 끝과 직접 쓴 -1은 음수 간격에서 다른 의미가 될 수 있으므로 실제 인덱스를 적습니다.

관련 유형: 코드 출력 / 빈칸

즉시 3문제
Python⭐ 빈출37

음수 인덱스

-1은 마지막 원소, -2는 뒤에서 두 번째 원소입니다.

앞에서는 0부터 세고 뒤에서는 -1부터 셉니다. a[-1]은 마지막 칸이고 a[-len(a)]는 첫 칸입니다. 음수 인덱스로도 원소 변경이 가능하지만 유효한 범위를 벗어나면 IndexError입니다.

관련 유형: 코드 출력 / OX

즉시 3문제
Python⭐ 빈출38

range와 반복 누적

range의 끝값은 포함되지 않으며 continue는 다음 회차로 이동합니다.

range(1,5)는 1,2,3,4입니다. 범위, 조건, 누적값 순으로 표를 만들면 출력이 보입니다. range(5,0,-2)는 5,3,1처럼 내려갑니다.

관련 유형: 코드 출력

즉시 3문제
Python🔥 반드시39

함수 인자와 지역 이름

인자는 객체의 참조를 전달하고 매개변수 재대입은 지역 이름만 바꿉니다.

리스트를 받아 append하면 같은 리스트가 바뀝니다. 매개변수에 새 리스트를 대입하면 함수 안의 이름만 새 리스트를 가리킵니다. 정수 매개변수에 1을 더하는 대입도 호출자의 이름을 바꾸지 않습니다.

관련 유형: 코드 출력

즉시 3문제
Python⭐ 빈출40

클래스와 객체별 속성

self로 저장한 인스턴스 속성은 객체마다 따로 관리됩니다.

클래스는 객체를 만드는 설계도이고 __init__은 생성된 객체의 초기 상태를 준비합니다. a와 b에 서로 다른 value를 넣으면 a.value 변경이 b.value를 바꾸지 않습니다. 클래스 속성은 공용 값이므로 인스턴스 속성과 구분합니다.

관련 유형: 코드 출력

즉시 3문제
DB⭐ 빈출41

슈퍼키

유일성은 있지만 불필요한 속성을 포함할 수 있습니다.

명단에서 사람을 확실히 구별하는 속성 묶음입니다. 학번 하나면 충분해도 학번과 이름을 함께 묶은 것은 슈퍼키입니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB🔥 반드시42

후보키

유일성 + 최소성

행을 구별하면서 속성 하나라도 빼면 더 이상 구별할 수 없는 키입니다. 최소성은 속성 개수가 전체에서 가장 작다는 뜻이 아니라 불필요한 속성이 없다는 뜻입니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB🔥 반드시43

기본키

후보키 중 대표로 선택한 키

여러 식별 수단 중 표의 대표 이름표를 하나 정합니다. SQL의 PRIMARY KEY는 중복과 NULL을 막습니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB⭐ 빈출44

대체키

기본키로 선택되지 않은 후보키

학번과 이메일이 각각 후보키인데 학번을 기본키로 골랐다면 이메일은 대체키입니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB🔥 반드시45

외래키

다른 관계의 키를 참조하여 관계를 연결합니다.

주문표의 고객번호로 고객표의 고객을 찾습니다. 참조 대상은 기본키 또는 적절한 UNIQUE 키이고 NULL 허용 여부는 별도 제약입니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB⭐ 빈출46

개체 무결성

기본키는 NULL과 중복을 허용하지 않습니다.

행마다 붙이는 이름표를 비워 두거나 같은 이름표를 두 행에 붙이면 개체를 구별할 수 없습니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB⭐ 빈출47

참조 무결성

외래키 값은 참조 대상에 존재하거나 허용된 NULL이어야 합니다.

없는 고객에게 주문을 연결하지 못하게 합니다. 부모 행 삭제 시 RESTRICT, CASCADE 등 지정한 정책을 따릅니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB⭐ 빈출48

도메인 무결성

속성 값은 정해진 타입과 허용 범위를 따릅니다.

점수 컬럼에 글자나 101점을 넣지 못하도록 값의 종류와 범위를 정합니다. CHECK는 범위 규칙을 표현할 수 있습니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB🔥 반드시49

함수 종속

X → Y: 같은 X이면 항상 같은 Y

같은 상품코드로는 같은 상품명이 결정된다는 업무 규칙입니다. 우연히 현재 표에서 같아 보이는 것과 모든 허용 데이터에서 성립하는 규칙을 구별합니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB⭐ 빈출50

이상 현상

삽입·갱신·삭제 이상은 중복 설계의 부작용

교수 정보와 수강 정보를 한 표에 반복하면 교수 전화번호를 여러 행에서 고쳐야 합니다. 일부만 고치면 값이 어긋납니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB🔥 반드시51

원자성

모두 성공하거나 모두 취소합니다.

계좌 이체의 출금과 입금은 한 묶음입니다. 입금 실패 때 출금만 남기지 않고 거래 전체를 되돌립니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB🔥 반드시52

일관성

트랜잭션 전후에 정의한 무결성 규칙을 만족합니다.

정상 상태에서 시작한 거래가 끝난 후에도 잔액·키 같은 규칙을 지켜야 합니다. 애플리케이션이 올바른 거래를 구성할 책임도 있습니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB🔥 반드시53

고립성

동시에 실행되는 거래의 간섭을 제어합니다.

여러 계산원이 같은 재고를 다뤄도 허용된 고립 수준에 맞게 서로의 중간 결과를 처리합니다. SERIALIZABLE은 직렬 실행과 같은 결과를 요구합니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB🔥 반드시54

영속성

커밋된 결과는 장애 후에도 유지되어야 합니다.

성공했다고 확정한 이체가 재시작 후에도 남도록 로그와 저장장치를 사용합니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB⭐ 빈출55

인덱스

조회 위치를 빨리 찾는 보조 구조

책 뒤의 색인처럼 값으로 데이터 위치를 찾습니다. 읽기가 유리해질 수 있지만 쓰기 때 인덱스도 고쳐야 하므로 비용이 듭니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
DB⭐ 빈출56

뷰

SELECT로 정의하는 가상 테이블

긴 조회에 이름을 붙여 테이블처럼 사용할 수 있습니다. 일반 뷰는 저장된 SELECT를 바탕으로 조회하며 물리 데이터를 저장하는 materialized view와 다릅니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
SQL🔥 반드시57

CREATE

CREATE → DDL · 테이블 생성

테이블 생성에 사용하는 명령입니다. 시험용 분류에서 DDL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
SQL⭐ 빈출58

ALTER

ALTER → DDL · 컬럼 추가

컬럼 추가에 사용하는 명령입니다. 시험용 분류에서 DDL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
SQL⭐ 빈출59

DROP

DROP → DDL · 테이블 정의 삭제

테이블 정의 삭제에 사용하는 명령입니다. 시험용 분류에서 DDL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
SQL⭐ 빈출60

TRUNCATE

TRUNCATE → DDL · 전체 행 비우기

전체 행 비우기에 사용하는 명령입니다. 시험용 분류에서 DDL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
SQL🔥 반드시61

SELECT

SELECT → DML · 행 조회

행 조회에 사용하는 명령입니다. 시험용 분류에서 DML에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
SQL🔥 반드시62

INSERT

INSERT → DML · 행 추가

행 추가에 사용하는 명령입니다. 시험용 분류에서 DML에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX / SQL 결과

즉시 3문제
SQL🔥 반드시63

UPDATE

UPDATE → DML · 행 변경

행 변경에 사용하는 명령입니다. 시험용 분류에서 DML에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX / SQL 결과

즉시 3문제
SQL🔥 반드시64

DELETE

DELETE → DML · 행 삭제

행 삭제에 사용하는 명령입니다. 시험용 분류에서 DML에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX / SQL 결과

즉시 3문제
SQL⭐ 빈출65

GRANT

GRANT → DCL · 권한 부여

권한 부여에 사용하는 명령입니다. 시험용 분류에서 DCL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
SQL⭐ 빈출66

REVOKE

REVOKE → DCL · 권한 회수

권한 회수에 사용하는 명령입니다. 시험용 분류에서 DCL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
SQL🔥 반드시67

COMMIT

COMMIT → TCL · 거래 확정

거래 확정에 사용하는 명령입니다. 시험용 분류에서 TCL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX / SQL 결과

즉시 3문제
SQL🔥 반드시68

ROLLBACK

ROLLBACK → TCL · 거래 취소

거래 취소에 사용하는 명령입니다. 시험용 분류에서 TCL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX / SQL 결과

즉시 3문제
SQL⭐ 빈출69

SAVEPOINT

SAVEPOINT → TCL · 부분 취소 기준점 설정

부분 취소 기준점 설정에 사용하는 명령입니다. 시험용 분류에서 TCL에 둡니다. 실제 DBMS에 따라 문법과 자동 커밋 여부가 다르므로 문항의 환경을 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX / SQL 결과

즉시 3문제
SQL🔥 반드시70

INNER JOIN

조건이 맞는 양쪽 행의 조합만 반환

두 명단에서 ON 조건을 만족하는 짝만 남깁니다. 같은 키에 여러 짝이 있으면 결과 행도 늘어납니다.

관련 유형: 개념 선택 / OX / 객관식 / SQL 결과

즉시 3문제
SQL🔥 반드시71

LEFT JOIN

왼쪽은 전부 유지, 미대응 오른쪽은 NULL

수강 내역이 없는 학생도 왼쪽 학생 목록에 남겨 줍니다. 한 학생에 여러 수강이 있으면 학생이 결과에 반복됩니다.

관련 유형: 개념 선택 / OX / 객관식 / SQL 결과

즉시 3문제
SQL⭐ 빈출72

RIGHT JOIN

오른쪽은 전부 유지, 미대응 왼쪽은 NULL

LEFT JOIN의 보존 대상을 반대로 생각합니다. 테이블 순서를 바꾸면 LEFT JOIN으로도 표현할 수 있습니다.

관련 유형: 개념 선택 / OX / 객관식 / SQL 결과

즉시 3문제
SQL⭐ 빈출73

FULL OUTER JOIN

양쪽의 미대응 행까지 유지

맞는 짝은 연결하고 한쪽에만 있는 행도 각각 NULL로 보충해 남깁니다.

관련 유형: 개념 선택 / OX / 객관식 / SQL 결과

즉시 3문제
SQL🔥 반드시74

GROUP BY / HAVING

WHERE는 그룹 전, HAVING은 그룹 후

판매 행에서 먼저 필요한 행을 고르고 팀별로 묶어 합계를 계산한 뒤 합계가 큰 팀만 남깁니다.

관련 유형: 개념 선택 / OX / 객관식 / SQL 결과

즉시 3문제
SQL🔥 반드시75

NULL과 COUNT

NULL은 미지 값, COUNT(col)은 NULL 제외

아직 모르는 점수는 0점과 다릅니다. NULL을 확인할 때 IS NULL을 사용합니다. COUNT(*)는 행 전체, COUNT(score)는 알려진 점수만 셉니다.

관련 유형: 개념 선택 / OX / 객관식 / SQL 결과

즉시 3문제
SQL⭐ 빈출76

서브쿼리와 EXISTS

IN은 값 집합, EXISTS는 행 존재 여부

평균보다 높은 점수를 구할 때 평균 조회를 안쪽에 둡니다. EXISTS는 안쪽 결과가 한 행이라도 있는지를 확인합니다.

관련 유형: 개념 선택 / OX / 객관식 / SQL 결과

즉시 3문제
SQL⭐ 빈출77

UNION / UNION ALL

UNION은 중복 제거, UNION ALL은 유지

두 조회를 세로로 합칩니다. 두 결과의 컬럼 수와 대응 타입이 호환되어야 합니다.

관련 유형: 개념 선택 / OX / 객관식 / SQL 결과

즉시 3문제
정규화🔥 반드시78

제1정규형

1NF → 속성에 원자값

한 칸에 과목 목록을 넣지 않고 과목마다 행을 나눕니다. 원자성은 해당 도메인의 값을 더 분해하지 않고 다룬다는 뜻입니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
정규화🔥 반드시79

제2정규형

2NF → 비주요 속성의 부분 종속 제거

먼저 1NF이고 모든 비주요 속성이 모든 후보키 전체에 완전 종속되어야 합니다. 복합키 일부만으로 결정되는 상품명은 별도 상품표로 뺍니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
정규화🔥 반드시80

제3정규형

3NF → 비주요 속성의 이행 종속 제거

학생번호→학과코드→학과명처럼 비키 중간 다리를 거치는 중복을 별도 학과표로 분리합니다. 엄밀한 3NF는 비자명 X→A마다 X가 슈퍼키이거나 A가 주요 속성입니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
정규화🔥 반드시81

BCNF

BCNF → 비자명 함수 종속의 결정자는 슈퍼키

X가 Y를 결정하면 X가 전체 행을 식별할 수 있어야 합니다. 3NF가 허용하는 주요 속성 예외도 허용하지 않아 더 엄격합니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
정규화⭐ 빈출82

제4정규형

4NF → 비자명 다치 종속의 결정자는 슈퍼키

한 사람의 취미와 언어가 독립이면 모든 조합을 반복 저장해야 합니다. 사람-취미와 사람-언어 표로 나누면 불필요한 곱을 줄입니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
정규화⭐ 빈출83

제5정규형

5NF → 후보키로 설명되지 않는 조인 종속을 분해

공급자·부품·프로젝트의 3자 관계가 세 쌍 관계를 조인한 것과 항상 같다는 업무 규칙일 때 그 쌍 표로 분해할 수 있습니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
보안🔥 반드시84

기밀성·무결성·가용성

기밀성은 비밀 보호, 무결성은 변조 방지, 가용성은 필요할 때 사용입니다.

보안은 비밀번호만 잘 숨기는 문제가 아닙니다. 성적표를 남이 읽지 못하게 하고, 점수를 몰래 바꾸지 못하게 하며, 필요한 시간에 조회할 수 있게 해야 합니다. 각각 다른 보안 목표입니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안⭐ 빈출85

인증과 인가

인증은 누구인지, 인가는 무엇을 할 수 있는지 확인합니다.

사원증으로 본인을 확인하는 과정이 인증입니다. 본인임을 확인한 뒤 급여 파일을 볼 권한이 있는지 검사하는 과정이 인가입니다. 로그인에 성공해도 모든 작업이 허용되는 것은 아닙니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안⭐ 빈출86

DAC 임의적 접근 통제

DAC는 소유자에게 접근 권한 결정의 재량을 줍니다.

문서 소유자가 동료에게 읽기 권한을 주거나 회수할 수 있는 방식입니다. 시스템이 권한을 검사하지만 누구에게 공유할지 결정할 재량이 소유자에게 있다는 점이 핵심입니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안⭐ 빈출87

MAC 강제적 접근 통제

MAC는 중앙 정책과 보안 등급으로 접근을 강제합니다.

문서에 붙은 보안 등급과 사용자의 허가 수준 등을 비교하여 접근을 결정합니다. 문서 주인이 공유하고 싶어도 중앙 보안 정책을 마음대로 바꿀 수 없습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안⭐ 빈출88

RBAC 역할 기반 접근 통제

사용자 → 역할 → 권한으로 연결합니다.

개별 사용자마다 권한을 복사하는 대신 회계 담당, 검토자 같은 역할에 권한을 붙입니다. 사용자를 역할에 배정하면 그 역할의 권한으로 작업할 수 있습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안🔥 반드시89

대칭키 암호

대칭키는 암호화와 복호화에 같은 비밀 키를 씁니다.

발신자와 수신자가 같은 비밀을 알고 있습니다. AES로 암호화한 문서는 그 비밀 키를 가진 사람이 복호화할 수 있으므로 키를 안전하게 전달하고 보관하는 것이 중요합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안🔥 반드시90

비대칭키 암호

공개키와 개인키는 서로 연결된 다른 키입니다.

누구나 알 수 있는 공개키와 소유자만 보관하는 개인키를 한 쌍으로 사용합니다. 수신자만 내용을 읽게 암호화하려면 암호화 용도의 수신자 공개키를 사용하고 수신자가 개인키로 복호화합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안🔥 반드시91

해시와 충돌 저항성

해시는 요약값이며 복호화하는 암호문이 아닙니다.

길이가 다른 자료를 정해진 길이의 요약값으로 바꾸어 변경 여부를 비교합니다. 같은 해시값이 나오는 서로 다른 입력을 충돌이라고 합니다. 안전한 암호학적 해시는 그런 입력을 찾기 어렵게 설계합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안🔥 반드시92

전자서명

개인키로 서명하고 공개키로 검증합니다.

서명자의 개인키로 문서에 대한 서명을 만들고 대응하는 공개키로 확인합니다. 신뢰할 수 있는 키 연결이 있어야 누구의 서명인지 판단할 수 있으며, 문서가 바뀌면 검증이 실패합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안🔥 반드시93

SQL Injection

입력값을 SQL 명령과 분리해서 바인딩합니다.

입력한 이름이 데이터가 아니라 SQL 문장의 일부로 해석될 때 문제가 생깁니다. 쿼리 구조를 먼저 정하고 값을 파라미터로 전달하면 값에 SQL처럼 보이는 문자가 있어도 명령 구조로 끼어들지 못하게 할 수 있습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안🔥 반드시94

XSS

브라우저가 입력을 실행 코드로 해석하지 않게 합니다.

게시판 글에 들어온 자료를 HTML 코드로 그대로 넣으면 방문자의 브라우저가 원하지 않는 스크립트를 실행할 수 있습니다. 출력 위치에 맞는 인코딩을 하고, HTML을 허용할 때는 안전한 정제를 적용합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안⭐ 빈출95

CSRF

로그인된 브라우저의 권한을 악용한 요청 위조입니다.

피해자가 로그인한 사이트에 공격자가 원치 않는 변경 요청을 보내게 유도합니다. 브라우저가 쿠키를 자동 전송한다는 점을 악용하므로 서버는 요청의 진위 확인을 위한 토큰 등 방어를 적용해야 합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안⭐ 빈출96

랜섬웨어

랜섬웨어는 데이터나 시스템 사용을 막고 대가를 요구합니다.

파일을 암호화하거나 시스템 사용을 제한하여 복구 비용을 요구하는 악성코드 유형입니다. 감염 시스템과 연결된 백업도 영향을 받을 수 있으므로 복구 가능한 분리 백업과 복원 점검이 중요합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안🔥 반드시97

DoS와 DDoS

DoS는 서비스 방해, DDoS는 여러 출발지에서 분산된 서비스 방해입니다.

정상 이용자가 서비스를 사용할 수 없게 만드는 공격입니다. 많은 요청이나 자원 고갈 등이 원인이 될 수 있으며, 여러 장비가 함께 공격하는 경우 DDoS라고 합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안⭐ 빈출98

IDS와 IPS

IDS는 탐지·알림, IPS는 탐지에 더해 차단을 수행할 수 있습니다.

보안 장비가 이상한 패턴을 보고 알려주는 역할이 침입 탐지입니다. 트래픽 경로 등에서 위험한 동작을 막는 기능이 침입 방지입니다. 알려진 패턴과 비교하는 방식과 평소 행동에서 벗어남을 찾는 방식도 구분합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크🔥 반드시99

OSI 7계층

물리 → 데이터 링크 → 네트워크 → 전송 → 세션 → 표현 → 응용 순서입니다.

통신 기능을 일곱 단계로 나눈 모델입니다. 전선으로 신호를 보내는 일, 같은 링크의 프레임 전달, 여러 네트워크를 거치는 주소 전달, 프로그램 간 전송, 대화와 데이터 표현, 응용 서비스를 나누어 이해합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크🔥 반드시100

TCP 연결과 신뢰성

TCP는 순서 있는 바이트 스트림을 신뢰성 있게 전달합니다.

데이터가 빠지거나 순서가 바뀌어 도착할 수 있으므로 순서 번호, 확인 응답, 재전송 등을 사용합니다. 통신 전에 연결을 설정하며 일반적인 연결 시작은 SYN, SYN+ACK, ACK의 세 단계입니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크🔥 반드시101

UDP

UDP 자체는 전달·순서·중복 방지를 보장하지 않습니다.

연결 설정 없이 데이터그램 단위로 보냅니다. 기본 기능이 단순하고 메시지 경계를 전달하지만 손실이나 순서가 바뀌는 문제를 UDP 자체가 재전송으로 해결해 주지는 않습니다. 필요하면 응용에서 보완합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크🔥 반드시102

IPv4와 서브넷

IPv4는 32비트이며 마스크로 네트워크와 호스트 부분을 나눕니다.

주소를 네 개의 8비트 수로 표현합니다. /24는 앞의 24비트가 네트워크 부분이라는 뜻이며, 마스크와 AND 연산으로 네트워크 주소를 구할 수 있습니다. 일반적인 /30 이하 서브넷의 호스트 수는 전체에서 네트워크·브로드캐스트 주소 두 개를 뺍니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크⭐ 빈출103

DNS

DNS는 이름에 대한 레코드를 조회하는 분산된 계층 체계입니다.

사람이 쓰는 도메인 이름으로 주소 등 필요한 정보를 조회합니다. A 레코드는 IPv4, AAAA는 IPv6, MX는 메일 서버, CNAME은 다른 이름을 가리킵니다. 응답을 TTL 동안 캐시해 조회 비용을 줄일 수 있습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크⭐ 빈출104

ARP와 다음 홉

ARP는 같은 링크의 IPv4 주소에 대응하는 MAC 주소를 찾습니다.

IPv4 패킷을 Ethernet 프레임에 담으려면 다음에 받을 장비의 MAC 주소가 필요합니다. 같은 네트워크 목적지는 그 장비의 주소를, 다른 네트워크 목적지는 보통 게이트웨이의 MAC 주소를 찾습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크⭐ 빈출105

HTTP 메서드와 상태 코드

HTTP는 요청·응답이며 메서드의 의미와 상태 코드를 구분합니다.

클라이언트가 자원에 대한 요청을 보내면 서버가 처리 결과를 상태 코드와 응답으로 돌려줍니다. GET은 읽기 의미의 안전한 메서드이며 PUT·DELETE 등은 의도된 효과를 기준으로 멱등성을 갖습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크⭐ 빈출106

RIP

RIP는 거리 벡터 방식이며 홉 수를 비용으로 사용합니다.

이웃에게 경로까지의 거리 정보를 알려 주는 방식입니다. 목적지까지 라우터를 몇 번 거치는지를 대표 비용으로 사용하며, RIP에서 16은 도달할 수 없는 거리로 취급합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크⭐ 빈출107

OSPF

OSPF는 링크 상태 정보를 사용하며 최단 경로를 계산합니다.

네트워크 연결 상태 정보를 바탕으로 지도를 구성하고 비용이 낮은 경로를 계산합니다. 링크 상태 기반의 내부 라우팅 프로토콜이며 큰 구조를 영역으로 나눌 수 있습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
네트워크⭐ 빈출108

VPN과 IPsec

VPN은 공유망 위에 논리적인 사설 연결을 구성합니다.

공용 네트워크를 지나도 조직 사이의 통신을 사설 연결처럼 구성할 수 있습니다. IPsec은 IP 계층의 보안 기능을 제공하며 터널 모드는 원래 IP 패킷을 새 외부 IP 패킷 안에 넣습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
OS🔥 반드시109

FCFS와 대기 시간

FCFS는 먼저 도착한 작업부터 비선점 실행합니다.

한 CPU의 준비 큐에서 먼저 온 작업이 먼저 실행됩니다. 긴 작업 뒤에 짧은 작업이 몰리면 짧은 작업도 오래 기다리는 convoy effect가 생길 수 있습니다. 대기 시간은 준비 상태에서 기다린 시간이고 반환 시간은 도착부터 완료까지입니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
OS🔥 반드시110

SJF

SJF는 준비된 작업 중 짧은 실행 시간을 우선하는 비선점 방식입니다.

CPU를 선택하는 시점에 준비된 작업의 실행 시간이 짧은 순으로 고릅니다. 여기서는 비선점 SJF로 정의하므로 실행을 시작하면 그 CPU 구간이 끝날 때까지 계속합니다. 아직 도착하지 않은 작업을 미리 선택하지 않습니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
OS⭐ 빈출111

SRTF 선점형 SJF

SRTF는 남은 실행 시간이 가장 짧은 작업을 우선합니다.

새 작업이 도착했을 때 현재 작업의 남은 시간보다 짧으면 CPU를 넘길 수 있습니다. 처음 실행 시간과 남은 시간을 구분해서 계산합니다. 동일 값은 문제에서 제시한 우선 규칙을 적용합니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
OS🔥 반드시112

Round Robin

정해진 시간 할당량만큼 실행하고 남으면 큐 뒤로 보냅니다.

차례대로 짧은 시간씩 CPU를 사용합니다. 완료되지 않은 작업은 다음 차례를 기다리므로 여러 대화형 작업에 CPU 기회를 나눌 수 있습니다. 시간 단위가 너무 짧으면 교환 비용이 늘고 너무 길면 FCFS와 비슷해집니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
OS🔥 반드시113

교착 상태와 4조건

상호 배제·점유 대기·비선점·순환 대기를 확인합니다.

작업들이 서로 가진 자원을 기다려 더 진행하지 못하는 상태입니다. 예를 들어 A는 락1을 가지고 락2를, B는 락2를 가지고 락1을 기다립니다. 교착 상태의 필요 조건 중 하나를 깨는 설계로 예방할 수 있습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
OS⭐ 빈출114

뮤텍스와 세마포어

뮤텍스는 배타적 소유, 세마포어는 허용 개수나 신호를 관리합니다.

임계 구역에 하나만 들어가게 하는 락으로 공유 자료를 보호할 수 있습니다. 카운팅 세마포어는 여러 자원의 사용 가능 개수를 나타낼 수도 있습니다. 허용량이 없다면 획득을 기다리고 자원이 반환되면 다시 기회가 생깁니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
OS⭐ 빈출115

페이징과 세그먼테이션

페이징은 고정 크기, 세그먼테이션은 논리 단위의 가변 크기입니다.

페이징은 주소 공간을 같은 크기의 페이지로, 물리 메모리를 프레임으로 나눕니다. 세그먼테이션은 코드·데이터처럼 의미 있는 크기가 다른 단위를 사용할 수 있습니다. 단편화의 종류도 구분합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
OS🔥 반드시116

FIFO 페이지 교체

가장 먼저 들어온 페이지부터 교체합니다.

프레임에 들어온 순서를 기억하고 가장 오래전에 적재된 페이지를 내보냅니다. 최근에 많이 사용했더라도 들어온 순서가 오래되면 희생 대상이 될 수 있습니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
OS🔥 반드시117

LRU 페이지 교체

가장 오랫동안 사용하지 않은 페이지를 교체합니다.

페이지가 처음 들어온 때가 아니라 마지막으로 사용된 때를 비교합니다. 최근 사용이 앞으로도 도움이 될 것이라는 관점으로 오래 사용하지 않은 페이지를 내보냅니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
OS⭐ 빈출118

OPT 최적 페이지 교체

앞으로 가장 늦게 사용하거나 다시 쓰지 않을 페이지를 교체합니다.

미래 참조열을 알고 있다면 당장 필요하지 않을 페이지를 가장 오래 미루어 내보내는 것이 부재 횟수를 최소로 하는 기준이 됩니다. 실제 실행에서는 미래를 완전히 알기 어려워 다른 정책의 비교 기준으로 씁니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
OS⭐ 빈출119

chmod와 rwx 권한

r=4 · w=2 · x=1을 소유자/그룹/기타 사용자 순으로 더합니다.

파일 권한은 누가 어떤 일을 할 수 있는지 정합니다. 기본 세 묶음은 소유자 u, 그룹 g, 기타 사용자 o입니다. r은 읽기, w는 쓰기, x는 일반 파일의 실행 또는 디렉터리의 검색·통과 권한입니다. chmod는 권한을 바꾸며 숫자와 u+x 같은 기호 표현을 사용할 수 있습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
OS⭐ 빈출120

LFU 페이지 교체

LFU는 참조 횟수가 가장 적은 페이지를 교체합니다.

각 페이지를 사용한 횟수를 기록하고, 메모리가 가득 차면 현재 들어 있는 페이지 중 적게 사용한 것을 내보냅니다. LRU는 마지막 사용 시점을 보지만 LFU는 횟수를 봅니다. J60 계산 예제는 적재 횟수 1부터 시작하며, hit 때 1을 더하고, 퇴거 후 재적재하면 1로 다시 시작합니다. 최소 횟수 동률은 현재 적재 시각이 이른 페이지를 먼저 내보내는 FIFO로 처리합니다.

관련 유형: 단답형 / 객관식 / OX / Table 판별

즉시 3문제
보안⭐ 빈출121

APT 지능형 지속 위협

APT는 표적에 발판을 유지하며 목적을 지속적으로 추구하는 위협입니다.

공격자가 충분한 기술과 자원을 갖고 특정 조직에 접근을 유지하면서 정보 유출 등 목적을 오래 추구합니다. 공격 경로를 여러 개 사용하고 방어자의 대응에 맞추어 방법을 바꿀 수 있습니다. 한 번의 사건만보다 대상·목적·지속성·접근 유지의 전체 맥락을 봅니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
보안⭐ 빈출122

Rootkit과 은폐

Rootkit은 호스트 기능을 은밀하게 바꾸어 공격 활동을 숨기는 도구 묶음입니다.

공격자가 호스트의 정상 기능을 악의적이고 눈에 띄지 않게 바꾸는 파일·도구의 모음입니다. 공격 흔적이나 악성 활동을 감추고 접근을 유지하는 데 쓰일 수 있습니다. 이름에 root가 있어도 정의를 특정 운영체제나 단 하나의 파일에만 가두지 않습니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
테스트⭐ 빈출123

Verification과 Validation

Verification은 명세를 제대로 구현했는지, Validation은 사용자 목적에 맞는지 확인한다.

주문 수량을 명세대로 계산하는지 확인하는 것과 그 주문 기능이 고객의 실제 업무에 적합한지 확인하는 것은 다릅니다. 앞은 규정·명세에 대한 적합성, 뒤는 의도한 사용에 대한 적합성입니다.

관련 유형: 객관식 / 빈칸 / OX

즉시 3문제
테스트🔥 반드시124

블랙박스와 화이트박스

블랙박스는 명세·입출력, 화이트박스는 내부 구조를 기준으로 시험한다.

블랙박스는 자동판매기의 버튼과 나온 음료를 검사하는 것과 같습니다. 화이트박스는 내부 조건문·반복문을 살펴보고 각 경로를 실행합니다. 두 방식 모두 실제 실행을 포함할 수 있습니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
테스트🔥 반드시125

동등 분할

같은 처리를 예상하는 입력 집합마다 대표값을 고른다.

입력마다 모두 시험하는 대신 비슷하게 처리되는 구간으로 나눕니다. 허용 나이가 18~65세라면 18 미만, 18~65, 65 초과를 나눕니다. 유효 구간뿐 아니라 거절되어야 할 구간도 검사합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
테스트🔥 반드시126

경계값 분석

범위가 바뀌는 경계와 그 가까운 값을 집중 검사한다.

오류는 18세 이상을 18세 초과로 잘못 적는 식으로 경계에서 자주 발생합니다. 정수 범위 10~20의 양 끝과 양옆을 확인하면 이런 실수를 잘 찾습니다. 2값·3값 방식의 정의를 문제 조건에서 먼저 확인합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
테스트🔥 반드시127

문장 커버리지

실행한 문장 수 ÷ 실행 가능한 전체 문장 수 × 100.

코드의 각 실행 문장을 한 번이라도 지나갔는지 셉니다. 실행되지 않은 문장이 있으면 그 문장의 결함을 관찰할 기회도 없었습니다. 하지만 각 문장을 지났어도 모든 분기 결과를 검사한 것은 아닙니다.

관련 유형: 단답형 / OX / 객관식

즉시 3문제
테스트🔥 반드시128

분기 커버리지

각 분기의 가능한 결과를 실행한다.

if의 참 결과와 거짓 결과처럼 제어 흐름이 갈라지는 출구를 확인합니다. 일반적인 실행 가능한 구조에서 모든 분기를 실행하면 모든 문장도 지나갑니다. 반대 방향은 보장되지 않습니다.

관련 유형: 객관식 / OX / 단답형

즉시 3문제
테스트⭐ 빈출129

조건 커버리지

복합 조건 안의 각 기본 조건이 참·거짓을 갖도록 검사한다.

A 또는 B라는 전체 조건 안에는 A와 B라는 작은 조건이 있습니다. 조건 커버리지는 작은 조건을 따로 봅니다. 전체 조건의 결과까지 보장하는지와 단축 평가 때문에 실제 평가되었는지도 확인해야 합니다.

관련 유형: OX / 객관식 / 단답형

즉시 3문제
테스트🔥 반드시130

단위·통합·시스템·인수 테스트

작은 구성요소 → 연결 → 전체 시스템 → 사용자 수용 목적.

한 함수만 확인하는 것과 여러 모듈의 연결을 확인하는 것, 완성된 시스템을 확인하는 것은 대상이 다릅니다. 인수 테스트는 사업·사용자·계약 등 수용 기준에 초점을 둡니다. 단계 이름만으로 블랙박스·화이트박스 여부를 결정하지 않습니다.

관련 유형: 객관식 / 단답형 / OX / 연결

즉시 3문제
테스트⭐ 빈출131

테스트 스텁과 드라이버

스텁은 호출되는 하위 모듈 대역, 드라이버는 호출하는 상위 모듈 대역.

시험 대상 함수가 미완성 DB 함수를 부른다면 DB 함수 대신 고정 응답을 주는 스텁을 둡니다. 시험 대상을 불러줄 상위 프로그램이 없다면 드라이버가 입력을 전달하고 결과를 수집합니다.

관련 유형: 단답형 / 객관식 / OX

즉시 3문제
테스트⭐ 빈출132

하향식·상향식 통합

하향식은 위부터 스텁, 상향식은 아래부터 드라이버.

하향식은 주요 제어 모듈부터 연결하여 전체 흐름을 일찍 봅니다. 없는 하위 모듈은 스텁으로 대체합니다. 상향식은 작은 하위 모듈들을 먼저 묶으므로 이를 호출할 드라이버가 필요합니다. 혼합하여 진행할 수도 있습니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
테스트⭐ 빈출133

확인 테스트와 회귀 테스트

확인은 고친 결함, 회귀는 변경 때문에 다른 곳이 깨졌는지.

비밀번호 오류를 수정한 뒤 같은 오류가 사라졌는지 다시 보는 것은 확인 테스트입니다. 그 변경 때문에 회원가입·로그아웃 등이 망가지지 않았는지 보는 것은 회귀 테스트입니다. 변경 영향에 따라 검사 범위를 정합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계🔥 반드시134

Abstract Factory · 추상 팩토리

생성 패턴 · 서로 맞는 제품 계열을 함께 만든다.

버튼과 창을 함께 만드는 공장을 선택합니다. 밝은 테마 공장은 밝은 버튼과 밝은 창, 어두운 테마 공장은 어두운 버튼과 어두운 창을 만듭니다. 사용하는 쪽은 구체 제품 이름보다 공통 인터페이스를 사용합니다.

관련 유형: 객관식 / OX / 단답형 / 연결

즉시 3문제
설계🔥 반드시135

Singleton · 싱글턴

생성 패턴 · 클래스 인스턴스를 하나로 제한하고 접근 지점을 제공한다.

설정 관리 객체를 여러 곳에서 같은 인스턴스로 쓰도록 만들 수 있습니다. 하나를 사용한다는 설계 의도와 여러 스레드에서 안전하게 생성하는 구현은 따로 검토해야 합니다. 전역 접근이 테스트를 어렵게 할 수도 있습니다.

관련 유형: 객관식 / OX / 단답형

즉시 3문제
설계🔥 반드시136

Observer · 옵저버

행위 패턴 · 한 객체의 상태 변경을 등록된 여러 관찰자에게 알린다.

게시판 알림을 구독한 사람들에게 새 글을 알려주는 구조입니다. 상태를 가진 주체는 관찰자를 등록·해제하고 변경을 통지합니다. 실제 통지 방식과 순서 보장은 구현에 따라 정해야 합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계⭐ 빈출137

클래스도와 객체도

클래스도는 타입의 구조, 객체도는 특정 시점 인스턴스의 모습.

클래스는 학생의 이름·학번 같은 공통 틀을 나타냅니다. 객체는 그 틀로 만든 특정 학생의 실제 값입니다. 클래스도는 타입 사이의 관계를 설계하고 객체도는 어느 순간 실제 객체와 연결을 보여줍니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계⭐ 빈출138

유스케이스와 액터

시스템 밖의 역할과 그 역할이 시스템으로 이루려는 목표를 표현한다.

유스케이스는 사용자가 얻고 싶은 서비스나 결과를 보여줍니다. 액터는 사람 이름이 아니라 시스템과 상호작용하는 역할입니다. 외부 결제 시스템도 액터가 될 수 있습니다. 내부 코드 구조를 표현하는 것이 목적은 아닙니다.

관련 유형: 객관식 / OX / 단답형

즉시 3문제
설계⭐ 빈출139

시퀀스도와 통신도

시퀀스도는 메시지 순서, 통신도는 협력 연결과 번호를 강조한다.

결제 요청이 화면에서 주문 서비스로, 다시 결제 서비스로 전달되는 과정을 시퀀스도로 볼 수 있습니다. 세로 생명선을 따라 메시지 사건 순서를 읽습니다. 통신도는 객체 사이 연결과 메시지 번호로 협력을 표현합니다.

관련 유형: 객관식 / OX / 단답형 / 연결

즉시 3문제
설계⭐ 빈출140

일반화·실체화·의존

일반화는 특수→일반, 실체화는 구현→계약, 의존은 사용→대상.

Car가 Vehicle의 한 종류이면 일반화입니다. Car가 Drivable 인터페이스의 계약을 구현하면 실체화입니다. 한 메서드가 다른 타입을 사용해 그 변경에 영향을 받는 관계는 의존으로 표현할 수 있습니다.

관련 유형: 객관식 / 단답형 / OX / 연결

즉시 3문제
설계⭐ 빈출141

집합과 합성

빈 마름모는 공유 집합, 채운 마름모는 강한 소유 관계인 합성.

전체와 부분을 묶는 관계를 표현합니다. 합성의 부분은 동시에 둘 이상의 합성 전체에 속하지 않습니다. 마름모는 전체 쪽에 놓습니다. 공유 집합의 세부 수명 의미는 모델에 따라 달라지므로 도메인 규칙을 확인합니다.

관련 유형: 객관식 / OX / 단답형

즉시 3문제
설계🔥 반드시142

기능 요구사항과 비기능 요구사항

무엇을 하는가는 기능, 어떤 품질·제약을 지키는가는 비기능.

상품을 검색한다는 요구는 제공할 기능입니다. 검색 결과를 2초 이내에 준다는 요구는 성능 품질입니다. 법규·플랫폼·운영 조건 같은 제약도 확인해야 합니다. 하나의 문장에 둘이 섞이면 분리해서 검사 기준을 정합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계🔥 반드시143

요구사항 도출·분석·명세·확인

필요 수집 → 충돌·우선순위 분석 → 문서화 → 의도·품질 확인.

사용자 인터뷰로 필요를 수집하고, 서로 충돌하는 요구를 협의합니다. 합의 내용을 명확한 문서로 적고 이해관계자가 실제 필요를 반영했는지 확인합니다. 개발 중 발견한 변화도 관리해야 합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계🔥 반드시144

응집도의 종류

전통적 순서: 우연 → 논리 → 시간 → 절차 → 통신 → 순차 → 기능.

우연은 관계없는 일을 모아 둔 형태입니다. 시간은 초기화처럼 같은 시점, 절차는 실행 순서, 통신은 같은 데이터, 순차는 앞 결과를 뒤 입력으로 쓰는 관계, 기능은 한 명확한 목적에 모인 형태입니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계🔥 반드시145

결합도의 종류

전통적 약→강: 자료 → 스탬프 → 제어 → 외부 → 공통 → 내용.

필요한 값만 전달하는 자료 결합은 상대 내부를 적게 알아도 됩니다. 큰 구조를 넘기거나 동작을 지시하는 플래그를 보내면 의존이 늘 수 있습니다. 공유 전역 데이터나 다른 모듈 내부 접근은 변경을 넓게 퍼뜨릴 수 있습니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
기타🔥 반드시146

형상관리와 기준선

무엇을 관리할지 식별하고 변경을 통제·기록·감사한다.

코드뿐 아니라 요구사항·설계·시험 문서도 관리 대상이 될 수 있습니다. 기준선은 검토·승인한 시점의 상태로 이후 변경을 정해진 절차로 관리합니다. 단순히 파일을 백업하는 것보다 식별과 변경의 근거를 유지하는 것이 중요합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
기타⭐ 빈출147

폭포수·나선형·V 모델

폭포수는 단계 흐름, 나선형은 위험 분석 반복, V 모델은 개발과 테스트 대응.

폭포수는 요구·설계·구현·시험 등 단계를 구분합니다. 나선형은 목표와 위험을 분석하고 개발·평가를 반복합니다. V 모델은 요구·설계 수준과 대응하는 테스트 수준을 연결하여 계획을 일찍 세우게 합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
기타⭐ 빈출148

애자일의 핵심 가치

협력·작동하는 제품·변화 대응을 중시하며 짧게 피드백한다.

완벽한 장기 예측만 기다리지 않고 작은 결과물을 보여주며 배웁니다. 고객과 함께 우선순위를 조정하고 변화에 대응합니다. 문서·계약·계획에 가치가 없다는 주장이 아니라 상대적으로 무엇을 더 중시하는지에 대한 선언입니다.

관련 유형: 객관식 / OX / 단답형

즉시 3문제
기타⭐ 빈출149

Scrum의 책임·이벤트·산출물

Product Owner는 가치·백로그, Developers는 인크리먼트, Scrum Master는 Scrum 효과성.

Scrum은 복잡한 일을 짧은 스프린트로 진행하며 결과와 방식을 점검합니다. 2020 가이드의 팀 책임은 Product Owner·Scrum Master·Developers입니다. 스프린트 리뷰는 제품 결과를, 회고는 팀의 작업 방식 개선을 함께 살핍니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계⭐ 빈출150

DFD: 데이터가 어디서 어디로 흐르는가

자료 흐름도는 처리·자료 흐름·자료 저장소·외부 개체로 데이터 이동을 표현한다.

고객이 보낸 주문을 접수 처리가 읽고 주문 저장소에 넣는 흐름을 그립니다. 처리 과정은 데이터를 바꾸거나 이용하고, 화살표는 어떤 데이터가 이동하는지 나타냅니다. 외부 개체는 분석 중인 시스템의 경계 밖에 있는 사람이나 다른 시스템입니다.

관련 유형: 객관식 / OX / 단답형

즉시 3문제
설계⭐ 빈출151

자료사전: 데이터의 약속을 기록한다

자료사전은 데이터 이름·의미·형식·범위·단위 등 정의를 한곳에 기록한다.

두 개발자가 amount를 한쪽은 원, 다른 쪽은 천 원으로 생각하면 숫자가 맞아도 연동 결과가 틀립니다. 자료사전은 이름과 단위, 허용값, 길이 같은 약속을 기록하여 이런 혼동을 줄입니다. 구조적 분석의 자료 조합 기호는 범례를 함께 읽습니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계⭐ 빈출152

기능점수 FP: 사용자가 받는 기능의 크기

FP는 코드 줄 수보다 사용자에게 제공하는 기능을 기준으로 소프트웨어 크기를 센다.

같은 주문 기능을 Java와 Python으로 작성하면 코드 줄 수는 달라도 사용자가 받는 기능은 비슷합니다. FP는 입력·출력·조회와 논리적 데이터 기능을 구분해 크기를 평가합니다. 규모인 FP를 노력·비용으로 바꾸려면 생산성이나 단가 같은 추가 조건이 필요합니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
설계⭐ 빈출153

COCOMO: 규모로 개발 노력을 추정한다

전통적 COCOMO 81은 규모와 개발 모드 등으로 노력·일정을 추정하는 모형이다.

이미 완료한 프로젝트 자료에서 규모와 노력의 관계를 찾아 새 프로젝트를 추정하는 방식입니다. COCOMO 81의 개발 모드는 익숙한 환경의 Organic, 중간·혼합 특성의 Semi-detached, 제약이 강한 Embedded로 나눕니다. 기본·중간·상세는 모드와 별도의 모형 수준 구분입니다.

관련 유형: 객관식 / 단답형 / OX

즉시 3문제
기타⭐ 빈출154

스택·큐: 넣고 꺼내는 순서

스택은 LIFO, 큐는 FIFO이며 실제 연산을 순서대로 추적한다.

스택은 접시를 쌓았다가 맨 위부터 꺼내는 방식입니다. 큐는 줄을 선 사람이 앞부터 나가는 방식입니다. 중간에 꺼내기와 넣기가 섞이면 처음 입력 목록만 보지 말고 매 단계 남은 상태를 써봅니다.

관련 유형: 단답형 / 객관식 / OX / 연결

즉시 3문제
기타⭐ 빈출155

이진트리의 전위·중위·후위

전위는 루트-왼쪽-오른쪽, 중위는 왼쪽-루트-오른쪽, 후위는 왼쪽-오른쪽-루트이다.

어디서 루트를 처리하는지 먼저 외웁니다. 전위는 하위 트리로 들어가기 전에, 중위는 왼쪽을 마친 뒤, 후위는 두 하위 트리를 마친 뒤 루트를 처리합니다. 규칙은 각 하위 트리에도 똑같이 재귀적으로 적용합니다.

관련 유형: 단답형 / OX

즉시 3문제
테스트⭐ 빈출156

MC/DC · 조건의 독립적인 영향

MC/DC는 각 조건이 전체 결정 결과를 독립적으로 바꾸는 테스트쌍을 확인한다.

A는 회원 여부, B는 결제 완료 여부라고 생각해 봅니다. 조건 커버리지는 A와 B 각각이 참·거짓을 경험했는지, 결정 커버리지는 전체 식의 결과가 참·거짓을 경험했는지 확인합니다. MC/DC는 여기에 각 조건 하나가 결과를 바꾸는 증거를 요구합니다. 아래 표는 독립적인 조건 둘을 단락 평가 없이 모두 평가하는 추상 진리표입니다. 다른 조건을 고정하고 하나만 바꿔 결과까지 바뀌는 두 테스트를 찾는 방식은 unique-cause 방식입니다. 모든 조합을 검사하는 다중 조건 커버리지와도 구분합니다.

관련 유형: 객관식 / 단답형

즉시 3문제