728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Advanced > Java Singleton Pattern
"싱글톤 패턴은 클래스의 인스턴스화를 하나의 개체로 제한하는 디자인 패턴입니다. 이는 시스템 전체에서 작업을 조정하기 위해 정확히 하나의 개체가 필요할 때 유용합니다." - Wikipedia: Singleton Pattern
편집기에서 다음 구성 요소가 포함된 Singleton 클래스를 완성합니다.
- 매개 변수화되지 않은 비공개 Singleton 생성자입니다.
- str이라는 공용 String 인스턴스 변수.
- Singleton 클래스의 단일 인스턴스를 반환하는 getSingleInstance라는 정적 메서드를 작성합니다.
제출되면 숨겨진 Solution 클래스가 문자열을 입력으로 받은 다음 Singleton 클래스를 사용하여 한 줄을 인쇄하여 코드를 확인합니다.
Input Format
이 챌린지에서 입력을 처리하지 않습니다.
Output Format
이 챌린지에서는 출력을 생성하지 않습니다.
Sample Input
hello world
Sample Output
Hello I am a singleton! Let me say hello world to you
Code
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
import java.lang.reflect.*;
class Singleton{
private Singleton() {}
private static final Singleton INSTANCE = new Singleton();
public static Singleton getSingleInstance() {
return INSTANCE;
}
public String str;
}
싱글톤 (Singleton)
디자인 패턴 중 하나
어떤 클래스가 오직 하나의 인스턴스만 가지고 그 인스턴스에 접근할 수 있도록 하는 것.
해당 클래스의 인스턴스를 전역에서 접근, 사용 가능.
과도한 사용은 전역 상태로 인한 복잡성을 증가시킬 수 있음.
멀티스레드 환경에서는 동기화에 주의.
Java 5부터는 Enum을 이용한 싱글톤 구현 가능. (스레드 안전성과 직렬화에 대한 보장이 있어 권장되기도 함)
싱글톤 특징
1. 단일 인스턴스 : 클래스의 인스턴스가 단 하나만 존재.
2. 전역적 접근 : 어디서든지 이 인스턴스에 접근할 수 있는 메서드를 제공.
개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.
728x90
반응형
'> 개발-IT-인터넷 > > JAVA' 카테고리의 다른 글
[해커랭크(HackerRank) JAVA 풀이] - Java Annotations (1) | 2023.12.01 |
---|---|
[해커랭크(HackerRank) JAVA 풀이] - Java Visitor Pattern (0) | 2023.11.29 |
[해커랭크(HackerRank) JAVA 풀이] - Java Factory Pattern (0) | 2023.11.22 |
[해커랭크(HackerRank) JAVA 풀이] - Prime Checker (1) | 2023.11.20 |
[해커랭크(HackerRank) JAVA 풀이] - Can You Access? (0) | 2023.11.13 |