3월 3주차 디자인 패턴 - 1.1.1 싱글톤 패턴 #63
ChanYoungHong
started this conversation in
📚 CS 스터디
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
<JVM 메모리 구조>
Static 영역
Stack 영역
기본형 타입 변수들이 stack 영역에 저장 됨, 인스턴스 (객체) 주소 값 저장 됨
스레드도 Stack 영역에 생김, 하나의 스레드 T메모리 구조가 각각 생성 됨. 하나의 스레드는 다른 스레드로 접근 X,
But, static과 heap 영역은 공유해서 사용 가능함
Heap 영역
<싱글톤 패턴>
정의 : 하나의 클래스가 오직 하나의 인스턴스만 가지는 패턴입니다.
왜 사용하나?
→ 객체를 생성할 때 메모리 영역을 할당 받아야 함,
싱글톤으로 한 번만 new 객체를 생성하여 메모리를 할당 받아서 효율적임
어디에 쓰나?
→ DB에서 커넥션풀, 스레드풀, 캐시, 로그 기록 등
<원리 및 순서>
<싱글톤 패턴의 단점>
정의 :
기존 코드 변경이 일어나지 않으면서, 기능을 추가 할 수 있어야 함(확장)
BUt, 싱글톤 패턴은 미리 생성된 하나의 인스턴스를 기반으로 구현한 패턴이므로 각 테스트마다 독립적인 인스턴스를 만들기 어렵다.
→ 결론 : 테스트를 하려면 “독립적”이어야 하는데,
싱글톤은 독립적으로 테스트 할 수 없다.
<의존성 주입>
정의 :
의존성 주입의 장점 :
의존성 주입읜 단점 :
Beta Was this translation helpful? Give feedback.
All reactions