본문 바로가기
728x90

정보처리기사40

무결성 제약조건이란? DB 정확성과 일관성을 지키는 5가지 제약조건 완전 정리 데이터베이스에서 '무결성'이란 데이터가 정확하고 일관된 상태를 유지하는 것을 의미한다. 이를 보장하기 위해 다양한 제약조건이 존재한다. 이 글에서는 가장 자주 쓰이는 5가지 무결성 제약조건을 정리한다.✅ 1. NOT NULL 제약조건NULL 값이 들어가는 것을 허용하지 않는다.반드시 값이 존재해야 하는 컬럼에 설정한다. 예시 SQLCREATE TABLE Member ( id INT PRIMARY KEY, name VARCHAR(100) NOT NULL);✅ 2. UNIQUE 제약조건컬럼의 값이 중복되면 안 되는 경우에 사용된다.기본키와 달리 NULL은 허용된다. 예시 SQLCREATE TABLE Member ( id INT PRIMARY KEY, email VARCHAR(100) UNIQUE); .. 2025. 5. 13.
논리 연산자 AND, OR, NOT부터 XOR까지, 기초 개념 완전 정리! 컴퓨터는 모든 연산을 0과 1로 처리한다.이때 필수적으로 사용되는 것이 바로 논리 연산자다.🔸 논리 연산자란?논리 연산자는 참(true), 거짓(false)을 표현하는 0과 1을 기준으로조건 판단, 회로 동작, 조건문 제어 등에 사용된다.🔹 주요 논리 연산자AND (그리고)두 입력이 모두 1일 때만 1을 출력한다.1 AND 1 → 1, 그 외에는 0OR (또는)하나라도 1이면 1을 출력한다.1 OR 0 → 1, 0 OR 0 → 0NOT (부정)입력을 반전시킨다.NOT 1 → 0, NOT 0 → 1🔹 확장 논리 연산자 (게이트)XOR (배타적 논리합)두 값이 다를 때만 1을 출력한다.1 XOR 0 → 1, 1 XOR 1 → 0NAND (NOT AND)AND 연산의 결과를 뒤집는다.1 AND 1 → 1.. 2025. 5. 13.
객체지향 4대 특징, 캡슐화·상속·다형성·추상화 완벽 정리 📄 본문객체지향 프로그래밍(OOP)은 개발자가 꼭 알아야 할 핵심 개념 중 하나다.특히 정보처리기사, NCS 필기, 개발자 채용 면접에서 자주 등장하는 주제이기도 하다.객체지향의 핵심은 4가지 특징으로 요약할 수 있다:캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism), 추상화(Abstraction)✅ 1. 캡슐화 (Encapsulation)캡슐화는 데이터와 메서드를 하나의 객체로 묶고, 외부에서 접근할 수 없도록 숨기는 방식이다.주로 private 접근제어자와 getter/setter 메서드로 구현된다.public class User { private String password; public void setPassword(String pw) .. 2025. 5. 9.
내부 단편화 vs 외부 단편화, 메모리 낭비를 일으키는 진짜 원인! 운영체제에서 메모리를 관리할 때 자주 등장하는 개념이 바로 **단편화(Fragmentation)**입니다.단편화는 메모리 낭비를 유발하는 구조적인 문제이며, 내부 단편화와 외부 단편화로 나뉩니다.✅ 내부 단편화 (Internal Fragmentation)고정된 크기의 메모리 블록을 할당했을 때,실제 사용보다 공간이 더 클 경우 남는 메모리가 낭비되는 현상입니다.예시:100KB 메모리 블록에 80KB 프로그램 저장 → 20KB 남음 → 사용 못 함✔️ 특징사용자가 의도하지 않았지만 시스템이 공간을 비효율적으로 배분고정 분할 메모리 시스템에서 주로 발생✅ 외부 단편화 (External Fragmentation)메모리 전체로 보면 빈 공간이 충분하지만연속된 공간이 부족해서 할당이 불가능한 상태입니다.예시:50.. 2025. 5. 9.
FIFO, LRU, OPT? 페이지 교체 알고리즘 완벽 비교 정리! 운영체제에서 메모리 관리는 매우 중요한 개념이다.그중에서도 페이지 교체 알고리즘은 CPU가 필요한 페이지를 메모리에 올릴 때,기존 페이지를 어떤 기준으로 내릴지를 결정하는 핵심 로직이다.가장 많이 언급되는 알고리즘은 FIFO, LRU, OPT다.이 글에서는 이 세 가지 알고리즘의 개념, 특징, 차이점을 정리해본다.✅ FIFO (First In First Out)가장 먼저 메모리에 올라온 페이지를 가장 먼저 제거한다.선입선출 방식이라 구현은 간단하지만, Belady의 역설과 같이 비효율적인 결과를 초래할 수 있다.장점: 구현이 쉽다.단점: 최근에 자주 쓰이던 페이지가 제거될 수 있다.예시: 페이지 참조열이 [1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5] 일 때3프레임일 경우 부재 횟수는 .. 2025. 5. 9.
링커(Linker)와 로더(Loader)의 차이점 완전 정리! | 정보처리기사 기출 대비 개발자나 수험생이라면 한 번쯤은 들어봤을 링커(Linker)와 로더(Loader).둘 다 프로그램을 실행하기 전 단계를 담당하는 요소지만, 역할은 완전히 다르다.🔍 링커(Linker)란?링커는 여러 개의 오브젝트 파일(.obj, .o 등)을 하나의 실행 파일(.exe, .out 등)로 만들어주는 도구다.여기에는 함수나 변수의 참조를 실제 위치로 연결하는 작업이 포함된다.예를 들어, A 파일에서 B 함수가 호출되었는데, 이 함수가 다른 파일에 있다면링커가 해당 함수의 주소를 찾아 연결해준다.✔️ 역할 요약오브젝트 파일 연결심볼 결합 (함수, 변수 주소 할당)실행 파일 생성🔍 로더(Loader)란?로더는 링커가 만든 실행 파일을 메모리에 올려주는 역할을 한다.즉, 실제 프로그램 실행 준비를 담당하는 운영.. 2025. 5. 8.
728x90