✅ Spring_

📚 Spring 정리 : 핵심 개념 정리

CodeLoge 2025. 6. 8. 15:23

✅ 자바 컬렉션 프레임워크란?

 

• 다수의 데이터를 효율적으로 저장하고 처리하기 위한 클래스 모음

 자료구조와 알고리즘을 모듈화하여 구현

 주요 인터페이스 : List, Set, Map

 제네릭(Generic)과 함께 사용하여 타입 일반화 지원


✅ 제네릭(Generic)이란?

 

 데이터 타입을 일반화하여 코드 재사용성과 타입 안정성 확보


✅ 정렬 알고리즘 종류

 

 버블 정렬

 선택 정렬

 삽입 정렬

 합병 정렬

 힙 정렬

 퀵 정렬

 트리 정렬 등


✅ 탐색 알고리즘 종류

 

 선형 탐색

 이진 탐색

 해시 탐색


✅ 객체지향 프로그래밍(OOP) 4대 특성

 

1️⃣ 추상화 (Abstraction)

 공통된 속성과 기능을 정의

 추상 클래스, 인터페이스로 구현

 핵심 역할만 정의하고, 실제 구현은 객체에서 수행

 

2️⃣ 상속 (Inheritance)

 기존 클래스를 확장하여 새로운 클래스 정의

 코드 재사용, 유지보수 용이

 

3️⃣ 다형성 (Polymorphism)

 동일한 호출에 대해 다양한 동작 수행

 오버로딩(메서드 중복 정의), 오버라이딩(메서드 재정의)

 낮은 결합도 실현

 

4️⃣ 캡슐화 (Encapsulation)

 속성과 기능을 하나로 묶어 외부로부터 보호

 접근 제어자, getter/setter를 통해 데이터 은닉


✅ Call by Value vs Call by Reference

 

 Call by Value : 값 복사 → 원본 영향 없음, 메모리 사용 증가

 Call by Reference : 참조 전달 → 원본 변경 가능, 속도 빠름


✅ 스프링 프레임워크 특징

 

• IoC와 AOP를 지원하는 경량 프레임워크

 낮은 결합도, 높은 응집도

 

1️⃣ IoC (Inversion of Control)

 객체 생성 및 주입을 컨테이너가 관리 → DI 기반

 new 키워드 없이 의존성 주입

 

2️⃣ AOP (Aspect-Oriented Programming)

 횡단 관심사를 분리하여 코드 모듈화

 공통 기능(로그, 보안 등)을 별도 처리 → 응집도 향상


✅ JPA (Java Persistence API)

 

 ORM을 위한 자바의 표준 API

 메서드 호출만으로 SQL 수행 → 유지보수 용이

 복잡한 쿼리에는 부적합

 대표 구현체: Hibernate


✅ MyBatis

 

 SQL과 자바 객체를 자동 매핑하는 ORM 프레임워크

 SQL을 XML 등 별도 파일로 관리 → 유지보수 유리

 자바 코드 재컴파일 불필요


✅ 동기(Synchronous) vs 비동기(Asynchronous)

 

 동기 : 요청과 결과가 동시에 처리됨

 비동기 : 요청 후 대기 없이 다른 작업 가능 → 효율적 자원 활용


✅ REST API

 

 HTTP 기반 자원 지향 API 설계 방식

 URI로 자원을 명시하고, HTTP 메서드로 동작 정의

 

1️⃣ HTTP Method

 GET : 정보 조회 / URL 파라미터 사용 / 노출 및 길이 제한

 POST : 리소스 생성, 갱신 / Body에 데이터 포함 / 길이 제한 없음


✅ TCP vs UDP

 

 TCP : 연결형 통신, 1:1, 신뢰성 높음

 UDP : 비연결형 통신, 빠르지만 데이터 손실 가능