✅ 자바 컬렉션 프레임워크란?
• 다수의 데이터를 효율적으로 저장하고 처리하기 위한 클래스 모음
• 자료구조와 알고리즘을 모듈화하여 구현
• 주요 인터페이스 : 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 : 비연결형 통신, 빠르지만 데이터 손실 가능
'✅ Spring_' 카테고리의 다른 글
📚 Spring 정리 2탄 : 자바 및 백엔드 핵심 개념 정리 (2) | 2025.06.09 |
---|---|
🛠 조합상품 할인율 – 진짜 할인율로 보여줘야 하는 이유? (0) | 2025.05.30 |
🔒 Spring 트랜잭션 : 실무에서 쓰는 진짜 개념만 정리 (0) | 2025.05.03 |
DAO 버전 업 : JDBC → Template 패턴으로 업그레이드하는 방법 (0) | 2025.04.28 |
서블릿에서 Spring 전환 시 JSONObject 사용 방식 때문에 발생한 응답 오류 해결하기 (0) | 2025.04.27 |