1. 프로그래밍 방식 / 패러다임

프로그래밍 방식 종류

구분핵심특징자주 나오는 포인트
구조적 프로그래밍순차/선택/반복Top-Down, 모듈화, 유지보수 쉬움GOTO 사용 X
절차적 프로그래밍순서 중심절차를 순서대로 실행C 언어 느낌
객체지향 프로그래밍객체 중심캡슐화, 상속, 다형성, 추상화클래스/객체/메서드
이벤트 중심 프로그래밍이벤트 발생 중심클릭, 입력, 선택에 반응GUI 프로그램
함수형 프로그래밍함수 중심부작용 최소화, 함수 조합람다, 순수 함수

외우기

구조적 = 순차/선택/반복

객체지향 = 객체 중심

이벤트 중심 = 클릭하면 실행

함수형 = 함수 중심


객체지향 구성 요소

개념의미
클래스객체를 만들기 위한 설계도
객체실제로 만들어진 대상
속성객체가 가진 데이터
메서드객체가 수행하는 기능
메시지객체에게 작업을 요청하는 것

객체지향 특징

특징의미
캡슐화데이터와 기능을 묶고 숨김
정보 은닉외부에서 내부 데이터 접근 제한
상속부모 기능을 자식이 물려받음
다형성같은 이름이 상황에 따라 다르게 동작
추상화중요한 특징만 뽑아 표현

외우기

객체 = 속성 + 메서드

클래스 = 설계도

캡슐화 = 정보 은닉


2. 변수명 표기법

표기법 종류

표기법특징예시
헝가리안 표기법변수명 앞에 자료형/의미 표시strName, intAge
카멜 케이스첫 단어 소문자, 다음 단어부터 대문자studentName
파스칼 케이스모든 단어 첫 글자 대문자StudentName
스네이크 케이스단어 사이를 _로 연결student_name
케밥 케이스단어 사이를 -로 연결student-name
상수 표기법모두 대문자 + _MAX_VALUE

시험 포인트

나오면답
변수명에 자료형 표시헝가리안 표기법
studentName카멜 케이스
StudentName파스칼 케이스
student_name스네이크 케이스
student-name케밥 케이스
MAX_VALUE상수 표기법

외우기

헝가리안 = 자료형

카멜 = 중간 대문자

파스칼 = 처음도 대문자

스네이크 = 밑줄

케밥 = 하이픈

상수 = 대문자


3. 프로그래밍 언어 / 스크립트 언어

언어 실행 방식

구분의미예시
컴파일 언어전체를 번역 후 실행C, C++, Java
인터프리터 언어한 줄씩 해석하며 실행Python, JavaScript
스크립트 언어해석해서 바로 실행하는 성격 강함JavaScript, PHP, ASP, JSP

클라이언트용 / 서버용 스크립트

구분실행 위치언어
클라이언트용사용자 브라우저JavaScript, VBScript
서버용서버PHP, JSP, ASP, Python

외우기

클라이언트 = 브라우저

서버 = 서버에서 처리 후 결과 전달


4. 자료형 / Python 자료형

Python 자료형 분류

분류자료형핵심
숫자형int, float숫자
문자열str문자들의 순서
시퀀스형list, tuple, range, str순서 있음
매핑형dictkey-value
집합형set중복 X, 순서 X
논리형boolTrue/False

시퀀스 자료형

자료형수정 가능특징
listO여러 값 저장, 수정 가능
tupleX여러 값 저장, 수정 불가
strX문자열
rangeX연속된 숫자 범위

외우기

시퀀스 = 순서 있음

list만 대표적으로 수정 가능


5. 예외 처리

예외 처리 구문

구문의미
try오류가 날 수 있는 코드
catch오류가 났을 때 처리
finally오류 여부와 관계없이 실행
throw예외를 직접 발생
throws예외 발생 가능성을 선언

실행 순서

상황순서
오류 없음try → finally
오류 있음try → catch → finally

외우기

try = 시도

catch = 잡기

finally = 무조건


6. 자료구조 전체

자료구조 분류

구분자료구조특징
선형 구조리스트, 스택, 큐, 데크한 줄 구조
비선형 구조트리, 그래프계층/연결 구조

선형 자료구조

자료구조핵심특징
리스트순서 저장일반적인 목록
스택LIFO후입선출
큐FIFO선입선출
데크양쪽 가능양쪽 끝 삽입/삭제

비선형 자료구조

자료구조핵심
트리부모-자식 계층 구조
그래프정점과 간선 구조
힙완전 이진 트리 기반
이진 트리자식이 최대 2개

트리 순회

순회순서
전위 순회루트 → 왼쪽 → 오른쪽
중위 순회왼쪽 → 루트 → 오른쪽
후위 순회왼쪽 → 오른쪽 → 루트

외우기

전위 = 루트 먼저

중위 = 루트 가운데

후위 = 루트 마지막


7. 수식 표기 / 정렬 알고리즘

수식 표기법

구분위치예시
중위식연산자가 가운데A+B
전위식연산자가 앞+AB
후위식연산자가 뒤AB+

외우기

전위 = 앞

중위 = 가운데

후위 = 뒤


정렬 알고리즘

정렬핵심자주 나오는 말
선택 정렬가장 작은 것 선택최솟값 선택
버블 정렬옆끼리 비교큰 값이 뒤로 이동
삽입 정렬알맞은 위치에 삽입끼워 넣기
퀵 정렬피벗 기준 분할분할 정복, 피벗
힙 정렬힙 이용최대 힙, 최소 힙

외우기

퀵 = 피벗

힙 = 완전 이진 트리

버블 = 옆 비교

삽입 = 끼워 넣기

선택 = 골라서 앞으로


8. 데이터베이스 전체

DBMS 기능

기능의미
정의 기능DB 구조 정의
조작 기능검색/삽입/수정/삭제
제어 기능보안/권한/무결성/회복

DB 설계 단계

순서단계핵심
1요구 조건 분석원하는 것 파악
2개념적 설계현실 세계 표현
3논리적 설계테이블 구조 설계
4물리적 설계저장 방법/성능 설계
5구현실제 DB 생성

관계형 DB 용어

용어의미
릴레이션테이블
튜플행
속성열
도메인속성이 가질 수 있는 값의 범위
차수속성 개수
기수튜플 개수

키 종류

키의미
슈퍼키유일성 O, 최소성 X 가능
후보키유일성 O, 최소성 O
기본키후보키 중 대표로 선택
대체키기본키로 선택되지 않은 후보키
외래키다른 테이블의 기본키를 참조

외우기

슈퍼키 = 유일하면 됨

후보키 = 유일 + 최소

기본키 = 대표 후보키

대체키 = 남은 후보키

외래키 = 다른 표 참조


DB 모델

모델구조
계층형트리
망형그래프
관계형테이블
객체지향형객체

View

개념의미
View가상 테이블
장점보안, 편리성
단점갱신 제한 가능

9. 네트워크 전체

OSI 7계층

계층이름핵심
7응용FTP, SMTP, HTTP
6표현암호화, 압축, 코드 변환
5세션연결 유지, 대화 제어
4전송TCP, UDP
3네트워크IP, 라우팅
2데이터링크MAC, 프레임
1물리비트, 케이블

TCP / UDP

구분TCPUDP
연결연결형비연결형
신뢰성높음낮음
속도느림빠름
제어오류/흐름/혼잡/순서적음

IPv6 주소 방식

방식의미
Unicast1대1
Multicast특정 그룹
Anycast가까운 하나
BroadcastIPv6에는 없음

전송 관련 개념

개념의미
캡슐화헤더/트레일러 붙임
흐름 제어송수신 속도 조절
오류 제어오류 검출/수정
혼잡 제어네트워크 과부하 조절

10. 운영체제 전체

OS 기본

개념의미
운영체제사용자와 하드웨어 사이 중개
프로세스실행 중인 프로그램
스케줄링CPU 배정
로더프로그램을 메모리에 올림
쉘명령어 해석기
커널OS의 핵심

로더 기능

기능의미
할당메모리 공간 확보
연결필요한 코드 연결
재배치실제 주소에 맞게 변경
적재메모리에 올림

페이지 교체 알고리즘

기법의미
FIFO먼저 들어온 것 교체
LRU가장 오래 안 쓴 것 교체
LFU사용 횟수 가장 적은 것 교체
OPT앞으로 가장 늦게 쓸 것 교체
NUR최근 사용하지 않은 것 교체

DOS / UNIX

구분내용
DOS 내부 명령어DIR, COPY, DEL, CD
DOS 외부 명령어FORMAT, CHKDSK, BACKUP, RESTORE
UNIX 쉘Bourne, C, Korn
UNIX 파일일반, 디렉터리, 특수

11. 테스트 / 소프트웨어 공학

확인과 검증

구분영어의미
확인Validation사용자 요구사항 만족?
검증Verification명세서대로 만들었나?

테스트 종류

구분의미기법
화이트박스내부 구조 확인기초 경로, 조건, 루프
블랙박스입력/출력 확인동치 분할, 경계값, 원인-효과 그래프

알파 / 베타

구분의미
알파 검사개발자 환경에서 사용자 테스트
베타 검사실제 사용자 환경에서 테스트

CI / CD

구분의미
CI자동 빌드 + 자동 테스트
CD자동 배포

최종적으로 노션 페이지는 이렇게 나누면 됨

페이지넣을 내용
1. 프로그래밍 방식구조적, 절차적, 객체지향, 이벤트 중심, 함수형
2. 표기법헝가리안, 카멜, 파스칼, 스네이크, 케밥, 상수
3. 언어/스크립트컴파일, 인터프리터, 클라이언트/서버 스크립트
4. Python/자료형시퀀스, list, tuple, str, range, dict, set
5. 자료구조선형/비선형, 스택, 큐, 데크, 트리, 그래프
6. 알고리즘중위/전위/후위, 정렬, 통신회선, 간선 수
7. DBDBMS 기능, 설계 단계, 관계형 용어, 키, View
8. 네트워크OSI, TCP/UDP, IPv6, 캡슐화
9. 운영체제프로세스, 스케줄링, 로더, 페이지 교체, DOS/UNIX
10. 테스트/소공확인/검증, 알파/베타, 화이트/블랙, CI/CD

이렇게 해야 문제 하나가 바뀌어도 같은 파트에서 잡을 수 있음.