2025/03/07 3

면접 대비용 데이터베이스 정리

1. 관계형 데이터베이스의 정규화정규화는 데이터베이스 설계 시 데이터 중복을 최소화하고 삽입, 수정, 삭제 이상 현상을 제거하며 데이터 무결성을 유지하기 위한 일련의 과정이다. 정규화 과정을 통해 저장 공간을 효율적으로 사용하고, 일관된 데이터 관리를 보장할 수 있다.정규화의 장점데이터 중복 최소화: 동일 데이터의 반복 저장을 피하여 저장 공간을 절약한다.이상 현상 제거:삽입 이상, 수정 이상, 삭제 이상을 방지한다.데이터 무결성 유지: 데이터의 정확성과 일관성을 보장한다.저장 공간 효율적 사용: 불필요한 중복 저장을 제거하여 공간을 절약한다.정규화의 단점JOIN 연산 필요: 여러 테이블로 분리된 데이터를 조회할 때 복잡한 JOIN 연산이 필요해 성능 저하의 원인이 될 수 있다.2. 비정규화비정규화는 정..

CS Repository/DB 2025.03.07

객체지향 기초 - SOLID 원칙

개인적으로 SOLID 는 객체지향의 "기초" 라고 하기엔 너무 어렵다고 생각하지만, SOLID를 통해 객체지향 학습을 시작하는 사례가 많으니, SOLID를 이해하기 위한 흐름을 잡아 설명하도록 하겠다.1. 객체지향 프로그래밍의 기본 특성객체지향 프로그래밍은 소프트웨어 설계와 구현에 있어 효율성과 유지보수성을 높이기 위한 패러다임이다. 대표적인 네 가지 특성은 캡슐화, 상속, 다형성, 추상화이며, 각각 다음과 같이 설명할 수 있다.1.1 캡슐화캡슐화는 데이터(필드)와 그 데이터를 처리하는 메서드를 하나의 객체로 묶어, 외부에서 불필요하거나 민감한 정보에 직접 접근하지 못하도록 제한하는 개념이다. 이를 통해 객체 내부의 상태를 보호하고, 변경의 영향을 최소화할 수 있다. 1.2 상속상속은 기존의 클래스를 기..

Java 에 대하여

자바의 기본 특징자바는 객체지향 프로그래밍(OOP)에 기반하여 설계되었으며, "Write Once, Run Anywhere"라는 플랫폼 독립성을 갖는다. 이는 한 번 작성된 코드가 어떠한 운영체제에서도 동일하게 실행될 수 있음을 의미한다.JDK 구조자바 개발 환경은 JDK(Java Development Kit), JRE(Java Runtime Environment), 그리고 JVM(Java Virtual Machine)으로 구성되며, 각 계층은 다음과 같이 역할을 분담한다.1. JDKJDK는 자바 개발에 필요한 모든 도구를 포함하는 패키지이다.JDK의 주요 구성 요소는 다음과 같다.JRE: 자바 애플리케이션을 실행하기 위한 환경을 제공한다.개발 도구: 자바 컴파일러(javac), 패키징 도구(jar), ..