inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코딩으로 학습하는 GoF의 디자인 패턴

싱글톤 패턴 4부 - 안전하고 단순하게 구현하는 방법

기선님! 싱글톤 패턴을 복습하며 궁금한게 생겼습니다

250

ningning

작성한 질문수 4

0

자바에서 enum을 사용하지 않고 싱글톤 패턴을 구현하는 방법에 좋은 예로, inner static class 를 사용하는 방법에 대해 정리하려고 하는데요..

Q1. static(정적) class 에 특징을 살려 싱글톤 패턴을 구현한 건가요? (inner "static" class 로 구현하는 핵심적인 이유에 대해 궁금함)

Q2. inner class 에서 eager loading 으로 생성된 인스턴스를 outer class의 getInstance() 메소드로 일관되게 반환함으로써 싱글톤 패턴을 실현시키는 건가요?

디자인-패턴 java

답변 1

1

백기선

안녕하세요. 좋은 질물 감사합니다.

Q1. getInstance() 메소드에서 Settings4Holder.INSTANCE 이런식으로 참조하려면 static을 사용해야 되요. 한번 static을 빼고 컴파일을 시도해 보시면 좋을 것 같습니다.

Q2. inner 클래스가 로딩되는 시점도 해당 클래스가 처음으로 사용되는 시점인데, getInstanace()가 처음으로 호출됐을 때 로딩 될테니 엄밀히는 eager loading은 아니지만, 홀더가 로딩 되는 시점에 static 필드가 만들어 지면서 싱글톤 패턴이 요구하는 단일 인스턴스를 보장할 수 있게 됩니다.

감사합니다.

많이 사용되는 패턴의 순서를 정한다면 어떤 순서일까요?

0

127

1

@Builder에 대해 사소한 질문

0

65

1

default 기능이 있는 interface와 추상클래스의 차이

0

60

1

실무 코드에 디자인 패턴 적용 시의 '기준'에 대해 조언을 얻고 싶습니다.

0

53

1

데코레이터 패턴, before 가 O(2^n) 인 이유

0

55

0

혹시 다음강의는 언제쯤..

0

355

1

volatile 사용 이유에 대해서 여쭤보고 싶습니다!

0

641

3

Spring Security 의 ProviderManager (AuthenticationManager) 도 옵저버 패턴을 사용하고 있다고 볼 수 있을까요?

0

400

2

싱글톤 패턴을 깨트리는 방법

0

560

1

코드에 약간 오타가 있는거 같습니다.

0

444

1

싱글톤 (Singleton) 패턴 구현 방법 3 - 2번 퀴즈에 대해 질문이 있습니다.

0

575

2

안녕하세요, 강의 순서 질문드립니다.

0

689

1

스프링 시큐리티 WebSecurityConfigurerAdapter deprecated 대체 코드

0

2435

1

팩토리메소드 = 추상팩토리?

2

925

1

중재자 패턴에 관하여~

0

515

1

undo 메소드 작업중에서

1

372

1

익명클래스로 객체 생성시 의문점

0

596

1

mediator패턴에서 객체끼리 순환참조는 어떻게 해결해야할까요

0

486

1

객체간에 this를 넘기는 부분에 관련해 질문이 있습니다..

1

370

1

전략 패턴과 상태 패턴에 관련해서 질문이 있습니다.

0

290

1

플라이웨이트 패턴 3부에서 HashMap 동시성 질문입니다.

0

262

1

enum 이 이른 초기화 방법이 아니라는 것은,

0

509

1

해당 코드가 C# 에선 접근 관련 컴파일 에러가 뜹니다.

0

438

1

설계관련 궁금증이 있습니다.

0

331

0