일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴퓨터과학
- 보안
- 데이터구조
- 머신러닝
- 컴퓨터비전
- 빅데이터
- 프로그래밍언어
- 네트워크보안
- 데이터분석
- 자바스크립트
- 데이터베이스
- springboot
- 웹개발
- Yes
- 인공지능
- 프로그래밍
- 디자인패턴
- 클라우드컴퓨팅
- 자료구조
- 사이버보안
- 알고리즘
- 소프트웨어
- 데이터과학
- 소프트웨어공학
- 컴퓨터공학
- 네트워크
- I'm Sorry
- 딥러닝
- 파이썬
- 버전관리
- Today
- Total
목록2025/07/15 (6)
스택큐힙리스트
“딱 한 번만 만든 뒤, 모두가 함께 쓰자” 왜 싱글턴인가?작고 단순한 CLI Todo 앱도 데이터 저장소‧로그 시스템‧설정 값 같은 공통 객체가 생깁니다. 매번 new를 호출해 중복 인스턴스를 만들면 메모리와 동기화 비용이 눈덩이처럼 불어나죠. 그래서 “전역에서 한 벌만” 쓰도록 보장하는 싱글턴 패턴이 등장했습니다. 실제로 Naver D2의 테스트 아티클도 “글로벌 객체를 싱글턴으로 만들면 목(Mock) 교체가 편하다”는 점을 강조합니다대표 적용부위: TaskRepositoryCLI Todo 앱에서 모든 명령이 접근하는 작업 목록 저장소를 예로 들어봅시다.public class TaskRepository { private static final TaskRepository INSTANCE = new..
왜 생성 패턴인가?Todo 앱처럼 단순한 프로그램도 시간이 지나면 기능·저장소·UI가 늘어나면서 ‘객체를 누가, 언제, 어떻게 만들까?’가 중요해집니다. 생성 패턴은 이 고민을 설계 단계에서 지워 줍니다. Naver D2·Velog 인기 글에서도 “객체 생성을 설계에 녹여 두면 리팩터링이 압도적으로 쉽다”는 점이 강조되죠.1) Singleton – 전역 인스턴스 하나면 충분할 때어디에? Todo 목록을 메모리에 캐싱하는 TaskRepository.핵심: private constructor + static getInstance()로 하나만 유지해 DB 연결·캐시 동기화를 간소화.public class TaskRepository { private static final TaskRepository INS..