CS/디자인 패턴2025. 7. 30. 16:24[디자인패턴] 싱글톤(Singleton) 패턴

프로그래밍을 하다 보면 "이 객체는 애플리케이션 전체에서 하나만 존재해야 해" 라는 요구사항이 종종 등장합니다.예를 들어 설정값, 테마, 로깅, 데이터베이스 커넥션 풀 등은 객체를 여러 개를 생성하면 중복 관리나 상태 불일치 같은 문제가 발생할 수 있습니다. 이럴 때 사용하는 대표적인 디자인 패턴이 바로 싱글톤(Singleton) 패턴입니다. 싱글톤 패턴의 개념 싱글톤 패턴은 애플리케이션 전역에서 하나의 인스턴스만 생성해서 사용하도록 보장하는 디자인 패턴입니다. 자바에서 객체를 생성할 때마다 new 키워드를 사용하여 메모리를 새로 할당받습니다.그러나 모든 상황에서 객체가 매번 새로 만들어질 필요는 없습니다.오히려 하나의 객체만 존재해야 하는 경우가 바람직할 수도 있습니다. 그럴 때 사용하는 것이 바로 싱..

BackEnd/Java2024. 11. 12. 17:17[Java] DTO, VO, DAO 차이점

DAO (Data Access Object) 데이터베이스와 상호작용을 담당하는 객체를 말합니다.데이터베이스에 접근하기 위한 로직을 분리하기 위해 사용합니다.직접 데이터베이스에 접근하여 데이터를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행합니다. DAO 예시 코드 public class UserDAO { public void createUser(User user) { // 데이터베이스에 유저 정보를 저장 } public User getUserById(int userId) { // 데이터베이스에서 유저 정보 조회 } public void updateUser(User user) { // 데이터베이스에서 유저 정보 업데이트 } p..

[JAVA] Garbage Collection
BackEnd/Java2024. 11. 3. 19:30[JAVA] Garbage Collection

C/C++ 프로그래밍은 메모리 누수를 막기 위해서 객체를 생성한 후 사용하지 않는 객체의 메모리를 개발자가 직접 해제해주어야 했습니다. 하지만, JAVA에서는 JVM(Java Virtual Machine)이 구성된 JRE(Java Runtime Environment)의 구성 요소 중 하나인 Garbage Collection이 자동으로 사용하지 않는 객체를 파괴합니다. Garbage Collection에 대해서 알아보기 전에 " Stop-The-World "라는 용어를 알아야 하는데, 이것은 Garbage Collection을 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것입니다. 어떤 Garbage Collection 알고리즘을 사용하더라도 " Stop-The-World "는 발생하게 되는데, 대개..

Study/코딩 테스트2024. 2. 14. 22:33[프로그래머스 입문문제/3일차] 짝수는 싫어요 (Java)

문제 설명 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.제한사항1 ≤ n ≤ 100입출력 예nresult10[1, 3, 5, 7, 9]15[1, 3, 5, 7, 9, 11, 13, 15]입출력 예 설명 입출력 #110 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다. 입출력 #215 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다. class Solution { public int[] solution(int n) { // 배열의 인덱스는 0으로 시작한다. // 따라서 answer의 총 범위가 n+1이다...

Study/코딩 테스트2024. 2. 14. 22:29[프로그래머스 입문문제/3일차] 최빈값 구하기 (JAVA)

문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 0 < array의 길이 < 100 0 ≤ array의 원소

image