정보처리기사 필기 다섯 과목

필기 이론 요약

정보처리기사 필기 빈출 개념·비교·계산·기출 함정을 114개 단일 주제 카드로 직접 설명하고, 시험형 OX와 5지선다 문제로 확인합니다.

자동 이어보기 마지막 학습 위치와 문제 선택 기록을 저장합니다.
소프트웨어 설계1 / 18
애자일 카드 1

애자일

애자일은 고객 요구의 변화에 민첩하게 대응하기 위해 짧은 반복과 지속적인 의사소통을 사용하는 개발 접근이다.

핵심 정리

  • 폭포수처럼 완료된 단계를 되돌리기 어려운 방식의 한계를 줄인다.
  • 작은 결과물을 빠르게 보여 주고 피드백을 다음 반복에 반영한다.
  • 전문 용어 차이로 생기는 사용자와 개발자의 이해 차이를 시각 자료와 대화로 좁힌다.

시험 포인트

  • 애자일을 계획·문서가 전혀 없는 방식으로 설명한 선택지는 틀리다.

OX 문제

1 / 3

5지선다 문제

1 / 3
서버 HTML에 포함된 전체 학습 목록

114개 필기 이론 카드

제목이나 설명을 선택하면 해당 학습 카드로 이동합니다.

소프트웨어 설계 18개

애자일

애자일

애자일은 고객 요구의 변화에 민첩하게 대응하기 위해 짧은 반복과 지속적인 의사소통을 사용하는 개발 접근이다.

이 카드 학습하기 →
애자일

애자일 선언

애자일 선언은 프로세스와 도구보다 개인과 상호작용, 방대한 문서보다 작동하는 소프트웨어, 계약 협상보다 고객 협력, 계획 준수보다 변화 대응을 더 중시한다.

이 카드 학습하기 →
애자일

XP

XP(Extreme Programming)는 의사소통을 개선하고 즉각적인 피드백을 얻는 데 초점을 둔 애자일 방법론이다.

이 카드 학습하기 →
스크럼

스크럼

스크럼은 역할과 진행 체계를 명확히 정의하고 짧은 반복으로 제품을 점진적으로 개발하는 애자일 프레임워크다.

이 카드 학습하기 →
스크럼

속도

속도(Velocity)는 한 번의 스프린트에서 팀이 완료할 수 있는 제품 백로그 작업량을 나타내는 추정·측정치다.

이 카드 학습하기 →
UI 설계

스토리보드

스토리보드는 화면 구성, 화면 간 이동 순서, 기능 설명을 문서로 정리해 서비스의 전체 흐름을 한눈에 보여 주는 UI 설계 도구다.

이 카드 학습하기 →
UI 설계

목업

목업은 실제 화면과 유사하게 시각 요소를 배치하여 디자인과 사용 방법을 설명·평가하는 정적인 모형이다.

이 카드 학습하기 →
시험 우선순위

객체지향 기법

객체지향 기법은 데이터와 행위를 객체 단위로 묶고 캡슐화·상속·다형성 등을 활용해 재사용성과 유지보수성을 높이는 접근이다.

이 카드 학습하기 →
시험 우선순위

UML

UML은 객체지향 시스템의 구조와 동작을 표준화된 다이어그램으로 표현하는 범용 모델링 언어다.

이 카드 학습하기 →
시험 우선순위

SOLID 원칙

SOLID는 객체지향 설계를 유연하고 변경에 강하게 만들기 위한 단일 책임, 개방-폐쇄, 리스코프 치환, 인터페이스 분리, 의존관계 역전의 다섯 원칙이다.

이 카드 학습하기 →
시험 우선순위

GoF 디자인 패턴

GoF 디자인 패턴은 반복되는 객체지향 설계 문제에 적용할 수 있는 검증된 해법을 생성·구조·행위 패턴으로 분류한 것이다.

이 카드 학습하기 →

소프트웨어 개발 17개

시험 우선순위

단위 테스트

단위 테스트는 모듈, 함수, 클래스처럼 가장 작은 소프트웨어 단위가 명세대로 동작하는지 개별적으로 검증하는 테스트다.

이 카드 학습하기 →
단위 테스트

테스트 드라이버

테스트 드라이버는 상향식 통합 테스트에서 아직 구현되지 않은 상위 모듈을 대신해 시험 대상 하위 모듈을 호출하고 결과를 확인하는 임시 모듈이다.

이 카드 학습하기 →
단위 테스트

테스트 스텁

테스트 스텁은 하향식 통합 테스트에서 아직 구현되지 않은 하위 모듈을 대신해 상위 모듈의 호출에 임시 결과를 반환하는 모듈이다.

이 카드 학습하기 →
알고리즘

정렬

정렬은 데이터를 특정 키의 오름차순 또는 내림차순으로 재배치하는 알고리즘 문제 영역이다.

이 카드 학습하기 →
품질 검토

정형 기술 검토(FTR)

FTR(Formal Technical Review)은 정해진 절차와 형식에 따라 소프트웨어 산출물의 결함, 요구사항 일치 여부, 표준 준수, 품질 수준을 확인하는 정적 검토 기법이다.

이 카드 학습하기 →
품질 검토

FTR 수행 지침

FTR은 검토 범위와 의제를 명확히 제한하고 사람보다 제품에 집중하며 논쟁·반박과 장시간의 해결책 토론을 피하고 참가자 수도 적절히 제한한다.

이 카드 학습하기 →
품질 표준

ISO/IEC 25000(SQuaRE)

ISO/IEC 25000 계열은 SQuaRE(Systems and software Quality Requirements and Evaluation)라는 이름으로 품질 요구사항, 품질 모델, 측정, 평가를 통합적으로 다루는 표준 체계다.

이 카드 학습하기 →

데이터베이스 구축 31개

SQL

COUNT

COUNT는 행이나 값의 개수를 세는 집계 함수이며 COUNT(*), COUNT(열), COUNT(DISTINCT 열)의 NULL·중복 처리 방식이 다르다.

이 카드 학습하기 →
SQL

DDL

DDL은 데이터베이스의 테이블, 뷰, 인덱스 같은 구조를 정의·변경·삭제하는 언어로 CREATE, ALTER, DROP, TRUNCATE 등이 있다.

이 카드 학습하기 →
SQL

DML

DML은 테이블의 데이터를 조회·삽입·수정·삭제하는 언어로 SELECT, INSERT, UPDATE, DELETE가 대표적이다.

이 카드 학습하기 →
SQL

DCL

DCL은 데이터베이스 사용자에게 접근 권한을 부여하거나 회수하는 제어 언어로 GRANT와 REVOKE가 대표적이다.

이 카드 학습하기 →
SQL

DROP과 DELETE

DROP은 데이터베이스 객체의 구조 자체를 제거하는 DDL이고, DELETE는 테이블 구조를 유지한 채 조건에 맞는 행을 삭제하는 DML이다.

이 카드 학습하기 →
관계형 용어

릴레이션

릴레이션은 관계형 데이터베이스에서 행과 열로 구성된 표 형태의 데이터 구조이며 일반적으로 테이블이라고 부른다.

이 카드 학습하기 →
관계형 용어

엔터티

엔터티는 업무에서 독립적으로 식별하고 관리할 가치가 있는 사람, 사물, 장소, 사건, 개념 등의 개체다.

이 카드 학습하기 →
관계형 용어

속성

속성은 엔터티의 특성을 나타내는 데이터 항목으로 관계형 테이블의 열(column)에 해당한다.

이 카드 학습하기 →
관계형 용어

튜플

튜플은 관계형 테이블의 한 행(row)에 해당하며 하나의 엔터티 인스턴스에 대한 속성값 집합이다.

이 카드 학습하기 →
정규화

정규화

정규화는 함수적 종속 관계를 분석해 릴레이션을 적절히 분해함으로써 데이터 중복을 최소화하고 삽입·삭제·갱신 이상을 방지하는 과정이다.

이 카드 학습하기 →
정규화

반정규화

반정규화는 조회 성능과 처리 효율을 높이기 위해 정규화된 구조에 의도적으로 중복, 테이블 통합, 계산 값 등을 허용하는 설계 기법이다.

이 카드 학습하기 →
데이터베이스 설계

개념적 설계

개념적 설계는 현실 세계의 요구를 DBMS와 독립적인 개념 모델로 표현하며 ER 다이어그램을 작성하는 단계다.

이 카드 학습하기 →
데이터베이스 설계

물리적 설계

물리적 설계는 논리 스키마를 실제 저장 장치에 효율적으로 구현하기 위해 파일 조직, 인덱스, 접근 경로, 저장 구조를 결정하는 단계다.

이 카드 학습하기 →
뷰

뷰

뷰는 하나 이상의 기본 테이블에서 필요한 행과 열을 선택해 정의한 가상 테이블이다.

이 카드 학습하기 →
동시성 제어

락킹 단위

락킹 단위가 크면 제어는 단순하지만 동시에 접근할 수 있는 범위가 줄어 병행성이 낮아지고, 단위가 작으면 제어는 복잡하지만 병행성이 높아진다.

이 카드 학습하기 →
메타데이터

시스템 카탈로그

시스템 카탈로그는 테이블, 열, 제약조건, 권한 등 데이터베이스 구조에 대한 메타데이터를 저장하며 DBMS가 자동으로 생성·갱신하는 데이터 사전이다.

이 카드 학습하기 →
관계 연산

관계 대수

관계 대수는 관계형 데이터베이스에서 원하는 결과를 얻기 위한 연산 절차를 기술하는 절차적 질의 언어다.

이 카드 학습하기 →

프로그래밍 언어 활용 30개

모듈화

결합도

결합도는 서로 다른 모듈이 얼마나 강하게 의존하는지를 나타내며 낮을수록 변경 영향이 작고 좋은 설계다.

이 카드 학습하기 →
모듈화

스탬프 결합도

스탬프 결합도는 배열, 레코드, 구조체, 객체처럼 복합 자료구조 전체를 모듈 사이에 전달하고 일부 필드만 사용하는 결합 형태다.

이 카드 학습하기 →
모듈화

외부 결합도

외부 결합도는 여러 모듈이 외부 장치, 통신 프로토콜, 파일 형식처럼 외부에서 정한 데이터 형식이나 인터페이스를 함께 의존하는 결합이다.

이 카드 학습하기 →
모듈화

내용 결합도

내용 결합도는 한 모듈이 다른 모듈의 내부 코드나 내부 데이터를 직접 참조·수정하는 가장 강하고 바람직하지 않은 결합 형태다.

이 카드 학습하기 →
모듈화

응집도

응집도는 하나의 모듈 내부 기능들이 하나의 목적을 위해 얼마나 밀접하게 관련되어 있는지를 나타내며 높을수록 좋은 설계다.

이 카드 학습하기 →
네트워크

OSI 7계층

OSI 7계층은 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용 계층으로 네트워크 통신 기능을 계층화한 참조 모델이다.

이 카드 학습하기 →
네트워크

ARP

ARP는 동일 네트워크에서 알고 있는 IPv4 주소에 대응하는 MAC 주소를 알아내는 프로토콜이다.

이 카드 학습하기 →
네트워크

RARP

RARP는 장치의 MAC 주소를 바탕으로 IP 주소를 알아내기 위해 사용되던 역주소 결정 프로토콜이다.

이 카드 학습하기 →
네트워크

Stop-and-Wait

Stop-and-Wait는 송신자가 프레임 하나를 전송한 뒤 확인 응답을 받을 때까지 다음 프레임 전송을 기다리는 흐름 제어 방식이다.

이 카드 학습하기 →
네트워크

Sliding Window

Sliding Window는 확인 응답을 기다리는 동안에도 윈도우 범위 내 여러 프레임을 연속 전송해 전송 효율을 높이는 흐름 제어 방식이다.

이 카드 학습하기 →
네트워크

TCP

TCP는 연결 지향적이고 신뢰성 있는 전송을 제공하며 순서 제어, 오류 제어, 흐름 제어, 혼잡 제어를 수행한다.

이 카드 학습하기 →
네트워크

UDP

UDP는 연결 설정 없이 데이터그램을 전송하는 비연결형 프로토콜로 신뢰성 보장 기능은 적지만 헤더가 단순하고 빠르다.

이 카드 학습하기 →
언어 문법

예약어

예약어는 언어 문법에서 특별한 의미로 미리 정해진 단어이므로 일반적인 변수명이나 함수명으로 사용할 수 없다.

이 카드 학습하기 →
언어 문법

세미콜론

C와 Java에서는 일반적인 선언문·대입문·함수 호출문 등의 끝에 세미콜론(;)을 사용해 문장의 종료를 표시한다.

이 카드 학습하기 →
언어 문법

코드 실행 결과 문제

C·Java·Python 코드 실행 결과와 빈칸 채우기 문제는 연산자 우선순위, 자료형, 반복·조건 흐름, 언어별 문법을 직접 추적해야 하는 반복 출제 영역이다.

이 카드 학습하기 →
메모리 관리

페이징

페이징은 프로세스의 논리 주소 공간을 고정 크기 페이지로, 물리 메모리를 같은 크기의 프레임으로 나누어 비연속적으로 배치하는 기법이다.

이 카드 학습하기 →
메모리 관리

세그멘테이션

세그멘테이션은 프로그램을 코드, 데이터, 스택처럼 의미 있는 논리 단위인 가변 크기 세그먼트로 나누어 메모리에 배치하는 기법이다.

이 카드 학습하기 →
메모리 관리

외부 단편화

외부 단편화는 가변 크기 메모리 영역의 할당과 해제가 반복되어 빈 공간이 여러 곳에 흩어지고, 총 여유 공간은 충분해도 큰 연속 공간을 할당하지 못하는 현상이다.

이 카드 학습하기 →

정보시스템 구축 관리 18개

보안

DoS 공격

DoS 공격은 대량의 요청이나 자원 고갈을 유발해 정상 사용자가 시스템 서비스를 이용하지 못하게 만드는 가용성 공격이다.

이 카드 학습하기 →
보안

시큐어 코딩

시큐어 코딩은 소프트웨어 개발 단계에서 입력 검증, 인증·권한, 오류 처리, 암호화, 자원 관리 등의 보안 약점을 예방하도록 코드를 작성하는 활동이다.

이 카드 학습하기 →
프로젝트 관리

테일러링

테일러링은 조직 표준 프로세스나 개발 방법론을 프로젝트의 규모, 특성, 위험, 규제, 기술 환경에 맞게 선택·조정하는 활동이다.

이 카드 학습하기 →
보안

암호화

암호화는 평문을 권한 없는 사용자가 이해하기 어려운 암호문으로 변환해 기밀성을 보호하는 기술이다.

이 카드 학습하기 →
보안

취약점 관리

취약점 관리는 자산의 보안 약점을 식별·평가하고 위험도에 따라 패치, 설정 변경, 완화 조치, 재검증을 수행하는 지속적 활동이다.

이 카드 학습하기 →
리눅스 권한

umask

umask는 새 파일이나 디렉터리를 만들 때 기본 최대 권한에서 제거할 권한 비트를 지정하는 제한 마스크다.

이 카드 학습하기 →
리눅스 권한

umask 계산

일반 파일의 기본 최대 권한 666에 umask 022를 적용하면 그룹과 기타 사용자의 쓰기 권한이 제거되어 최종 권한은 644가 된다.

이 카드 학습하기 →
리눅스 로그

wtmp

wtmp는 성공한 로그인·로그아웃과 시스템 부팅·종료 같은 과거 세션 이력을 기록하는 로그 파일이다.

이 카드 학습하기 →

카톡에서 정보 얻기