본문 바로가기

전체 글177

2024.08.09 (금) { 싱글턴패턴, 애노테이션에서의 속성, registerSingleton, AnnotationConfigApplicationContext, 어노테이션 } 싱글턴 패턴 적용 단계자기 자신을 참조하는 스태틱 필드를 선언하고 초기화:클래스 내부에서 자신의 인스턴스를 참조하는 정적(스태틱) 필드를 선언하고, 초기화합니다.생성자를 프라이빗으로 변경:생성자를 private으로 선언하여, 외부에서 new 키워드를 통해 인스턴스를 생성하지 못하도록 막습니다.외부에서 인스턴스에 접근할 수 있도록 스태틱 메서드 제공:인스턴스를 반환하는 정적 메서드를 정의합니다. 이 메서드를 통해 외부에서 유일한 인스턴스에 접근할 수 있습니다.public class Singleton { // 1. 자기 자신을 참조하는 스태틱 필드를 선언하고 초기화 private static final Singleton instance = new Singleton(); // 2. 생성자를 프.. 2024. 8. 11.
#26 Lesson: Introduction to Collections 2 The Set InterfaceSet은 중복 요소를 포함할 수 없는 Collection입니다. 이는 수학적 집합 추상화를 모델링합니다. Set 인터페이스는 Collection에서 상속된 메서드만 포함하며, 중복 엘리먼트가 금지된다는 제한을 추가합니다. 또한 Set은 equals와 hashCode 연산의 동작에 대해 더 강력한 계약을 추가하여, 구현 타입이 다르더라도 Set 인스턴스를 의미 있게 비교할 수 있게 합니다. 두 Set 인스턴스가 동일한 엘리먼트를 포함하면 두 인스턴스는 동일합니다.Java 플랫폼에는 세 가지 범용 Set 구현이 포함되어 있습니다: HashSet, TreeSet, 그리고 LinkedHashSet. HashSet은 엘리먼트를 해시 테이블에 저장하며, 가장 성능이 좋은 Set 인터페.. 2024. 8. 11.
2024.08.08 (목) { DI&DL, 빈, TDT, 단위테스트(JUnit5), ASSERT, Test Fixture } IoC의 분류DL(Dependency Lookup) 과 DI (Dependency Injection)DL : 저장소에 저장되어 있는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을 Lockup하는 것DI : 각 클래스간의 의존관계를 빈 설정(Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것Setter Injection (수정자 주입)Constructor Injection (생성자 주입)Method Injection (필드 주입) 스프링 컨테이너 (= IoC 컨테이너)의 종류스프링 컨테이너가 관리하는 객체를 빈(Bean)이라고 하고, 이 빈들을 관리한다는 의미로 컨테이너를 빈 팩토리(BeanFactory) 라고 부릅니다.객체의 생성과 객체 사이의 런타.. 2024. 8. 8.
JPA(Java Persistence API) JPA(Java Persistence API)는 자바 애플리케이션에서 데이터베이스와 상호작용하는 방식을 표준화한 API입니다. JPA를 사용하면 자바 객체를 데이터베이스의 테이블과 매핑하여, 객체 지향 프로그래밍 방식으로 데이터를 다룰 수 있습니다. 이를 통해 SQL 쿼리를 직접 작성하는 번거로움 없이, 자바 코드로 데이터베이스 작업을 수행할 수 있습니다.90퍼가 인터페이스로이루어진 JPAJPA (Java Persistence API)JPA는 자바 객체와 관계형 데이터베이스 간의 매핑을 정의하는 표준 API입니다. JPA는 인터페이스로 이루어져 있으며, 구현체는 없습니다. 대신, JPA를 구현하는 여러 프레임워크가 있으며, 이 중 가장 널리 사용되는 것이 Hibernate입니다.JPA의 주요 인터페이스E.. 2024. 8. 8.
#25 Lesson: Introduction to Collections 1 [공식 튜토리얼] collection(때때로 컨테이너라고도 함)은 단순히 여러 엘리먼트들을 단일 단위로 그룹화하는 객체입니다. Collections은 Aggregate 데이터를 저장, 검색, 조작 및 전달하는 데 사용됩니다. 일반적으로 포커 핸드(카드 모음), 메일 폴더(편지 모음) 또는 전화번호부(이름과 전화번호 매핑)와 같이 자연스러운 그룹을 형성하는 데이터 아이템들을 나타냅니다. Java 프로그래밍 언어 또는 다른 프로그래밍 언어를 사용해 본 적이 있다면 이미 collections에 익숙할 것입니다. What Is a Collections Framework?컬렉션 프레임워크는 컬렉션을 표현하고 조작하기 위한 통합 아키텍처입니다. 모든 컬렉션 프레임워크에는 다음이 포함됩니다.Interfaces: 컬렉.. 2024. 8. 8.
Dependency Injection (DI : 의존성주입) 의존성 주입(Dependency Injection, DI)은 객체 지향 프로그래밍에서 객체의 의존성을 외부에서 주입받는 방식입니다. 이를 통해 코드의 유연성과 재사용성을 높일 수 있습니다. DI를 구현하는 세 가지 주요 방법은 생성자 주입(Constructor Injection), 메서드 주입(Method Injection), 필드 주입(Field Injection)입니다.세 가지 주요 DI 방법생성자 주입(Constructor Injection):의존성을 생성자 매개변수로 전달받아 주입합니다.의존성이 반드시 필요할 때 사용하며, 주입받는 의존성이 변경되지 않도록 보장합니다.메서드 주입(Method Injection):의존성을 메서드 매개변수로 전달받아 주입합니다.주로 설정 메서드를 통해 선택적인 의존성.. 2024. 8. 7.