inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Java 디자인 패턴

Singleton 패턴 구현

Singleton util vs Static util

971

개발중

작성한 질문수 32

0

안녕하세요. 강사님

현장에서 util class 등을 static으로 만드는 경우가 많은데,

util class를 Sington으로 만들 수 있지 않을까 하는 생각듭니다.

이런 경우에도 사용할 수 있을까요?

강사님의 singleton 적용 사례가 어떤 것이 있는지 궁금합니다.

어떤 경우에 singleton을 적용해야겠다고 결정하시는지요?

java 디자인-패턴

답변 2

0

개발중

상세한 답변 감사합니다~ ㅎ

0

오준석

말씀대로 일반적으로 자바에서 Util 기능들은 static 메서드로 만드는 것이 일반적입니다.

다른 언어라면 top level function 같은 것으로 대체가 되기도 하는데 자바는 언어 스펙 제약상 메서드가 클래스 안에 위치해야 하기 때문에 static 메서드가 유일합니다.

싱글턴의 경우는 객체 자체를 한 개만 유지하기 위해서 사용합니다.

DB처럼 connection을 여기저기서 공유해야 하는 경우는 매번 객체를 생성하면 안 되니까 싱글턴이 맞겠고요.

프로그램 전체에 걸쳐서 동작하는 로그인, 로그아웃을 관리하는 매니저 클래스가 있다면 이 또한 싱글턴이 어울릴 것 같습니다.

또 떠오르는 것은 파일을 관리하는 매니저 클래스 등등 ~매니저류 들이 싱글턴에 어울릴 것 같습니다.

물론 말씀하신 것 처럼 Util 클래스를 싱글턴으로 해도 되는지 보면, 프로그램이 돌아가는데에는 아무 문제가 없습니다.

하지만 객체 지향적인 측면에서 바라봤을 때 Util 클래스가 통일된 기능만 가지는 매니저 역할을 한다면 싱글턴도 괜찮겠고요. Util 클래스 안에 통일되지 않은 여러 기능이 혼재한다면 static 메서드가 어울릴 것 같습니다.

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

25

1

리뉴얼 시기

0

4

0

스크립트에 대해 질문 있습니다.

1

13

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

1

12

1

조건 검색 질문

0

12

1

JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문

0

19

2

클로드코드 명령어-대화&세션관리 수업 자료

0

30

1

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

43

2

PlatformTransactionManager, ResourcelessTransactionManager 질문

1

50

2

자료 한번에 다운받기

0

27

1

스프링 빈 등록 방법 2가지 다 알아야하는 이유

0

48

1

mybatis 를 이용한 crud에서 insert에서 resultType='long" 이라고 하셨는데요,

0

24

1

댓글 삭제 로직에서 동시성 문제 발생 가능성

0

34

1

설계 트레이드 오프 링크 접속 안됨

0

71

2

테스트 질문, 어떤것을 사용할것인것에 대해서

0

38

1

Shape 클래스 실습 코드 피드백 요청드립니다

0

37

2

재고 감소와 쿠폰 발급은 왜 서로 다른 방식으로 동시성을 제어하나요?

0

44

2

깃허브주소 궁금합니다.

0

32

2

mariaDB 설정

0

28

1

섹션4 퀴즈 오타있어요.

0

41

1

AWS 배포 성능테스트

0

65

2

조건 반복문 질문: for 문 ?

0

59

1

Notion 엑세스 질문

0

289

1

Factory Pattern 질문입니다.

0

413

3