> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Java Singleton Pattern

jini:) 2023. 11. 24. 09:19
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Advanced > Java Singleton Pattern
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

"싱글톤 패턴은 클래스의 인스턴스화를 하나의 개체로 제한하는 디자인 패턴입니다. 이는 시스템 전체에서 작업을 조정하기 위해 정확히 하나의 개체가 필요할 때 유용합니다." - Wikipedia: Singleton Pattern

 

편집기에서 다음 구성 요소가 포함된 Singleton 클래스를 완성합니다.

  1. 매개 변수화되지 않은 비공개 Singleton 생성자입니다.
  2. str이라는 공용 String 인스턴스 변수.
  3. 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
반응형