자바에서 의존성 주입이란 객체 지향 프로그래밍에서 객체 간의 의존성을 외부에서 주입하는 것을 가리킨다. 이를 통해 객체 간의 결합도를 낮추고 코드의 유지보수성을 높일 수 있다. 이 글에서는 의존성 주입을 구현하는 몇 가지 방법과 특징에 대해 간단히 알아본다. 늘 그렇듯이 선요약부터: 생성자 주입: 강한 의존성을 보장하며 불변성을 유지할 수 있다.세터 주입: 유연하고 지연 주입이 가능하지만 의존성이 강제되지 않는다.필드 주입: 코드가 간결해지지만 가독성이 떨어지고 테스트가 어렵다.인터페이스 주입: 유연하지만 복잡도가 증가한다. Constructor Injection 생성자 주입은 객체가 생성될 때 필요한 의존성을 생성자를 통해 주입하는 방법이다.public class Service { private..
SQL에서 'UNION'과 'UNION ALL'은 두 개 이상의 SELECT 문에서 반환된 결과를 결합하는 데 사용된다. 말로 하니까 어려운데 예를 들어 아래와 같이 사용한다고 보면 된다.SELECT column1, column2 FROM table1UNIONSELECT column1, column2 FROM table2;그럼 'UNION'과 'UNION ALL', 두 명령어의 차이는 뭐냐, 결론부터 말하자면 '중복제거 연산의 유무'이다. 조금 상세히 정리하자면 다음과 같다. UNION 'UNION'은 결과 세트에서 중복된 행을 제거한다. 그러니까 두 SELECT 문에서 동일한 데이터를 반환하면 해당 데이터는 결과 세트에 한 번만 포함된다. 이와 같은 중복 제거 작업 때문에 'UNION' 은 'UNI..
목차 자바에서 기본 자료형(primitive type)은 null을 가질 수 없으며, 이는 자바의 설계 철학, 그리고 메모리 관리 방식에 기인한다. 구체적으로 이해하기 위해서는 기본 자료형과 객체 참조형(reference type)의 차이점을 포함해 자바의 설계 철학과 메모리 관리 방식까지 살펴볼 필요가 있다. 간결하게 요약해 보자. 기본 자료형 vs. 참조 자료형 기본 자료형 기본 자료형은 자바에서 가장 기본적인 데이터 타입이며, 값 자체를 저장한다. 아래와 같은 8개의 기본 자료형이 있다. 정수형: byte, short, int, long실수형: float, double문자형: char논리형: boolean기본 자료형은 메모리에서 고정된 크기의 공간을 차지하며, 실제 데이터 값을 직접 저장한다. ..
목차 자바 제네릭(Generic)은 자바 5에서 도입된 기능으로, 클래스, 인터페이스, 메서드의 데이터 타입을 지정하지 않고 사용할 수 있게 해 준다. 제네릭을 사용하면 코드의 재사용성이 높아지고, 타입 안전성이 보장되며, 코드의 가독성도 향상되는 장점이 있다. 이 글에서는 제네릭의 기본 개념에서 시작해 사용법, 예시 등을 간결히 정리한다. Basic Concepts 앞서 설명했듯이 제네릭은 클래스, 메서드 등에서 사용할 데이터 타입을 미리 지정하지 않고, 나중에 실제 사용할 때 구체적인 타입을 지정하도록 해준다. 이는 코드 재사용성을 크게 높일 수 있다. 제네릭 타입을 사용하는 클래스나 메서드는 다음과 같은 형태를 가진다. class 클래스이름 { private T 변수; public T 메..
로컬 스토리지(Local Storage), 쿠키(Cookies), 세션(Session)은 웹 개발에서 클라이언트 측과 서버 측의 데이터를 저장하고 관리하는 중요한 방법이다. 이들의 특징과 사용 사례, 보안 및 성능에 대해 간결히 정리해 보자. 선요약: 특성로컬 스토리지쿠키세션저장 용량각 도메인당 약 5MB각 쿠키당 최대 4KB서버 설정에 따라 다름수명영구적설정된 만료 시간까지브라우저 종료시 또는 세션 만료시접근 범위동일 도메인 내의 모든 페이지도메인과 경로에 따라 설정 가능서버에서만 접근 가능데이터 타입문자열문자열다양한 데이터 타입보안민감한 데이터 저장에 부적합HTTPS, HttpOnly로 보안세션ID를 통한 보안성능서버 통신 불필요, 빠름모든 HTTP 요청에 포함, 네트워크 성능에 영향서버 메모리 또..
- Total
- Today
- Yesterday
- a6000
- 스프링
- 세모
- 유럽
- 스트림
- BOJ
- spring
- 자바
- 동적계획법
- Python
- RX100M5
- 리스트
- Algorithm
- 세계여행
- 맛집
- 파이썬
- 남미
- 알고리즘
- 중남미
- 유럽여행
- 백준
- 면접 준비
- 지지
- 칼이사
- java
- 야경
- Backjoon
- 세계일주
- 여행
- 기술면접
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |