230704 TIL #128 기술 면접 스터디 - JAVA 3

김춘복·2023년 7월 4일
0

TIL : Today I Learned

목록 보기
128/494

230704 Today I Learned

신경써서 과제를 제출했던 코*은 탈락했지만, 대기업 한 군데 코테를 붙었다. 아직 많이 보진 않았지만 코테 통과는 이번이 처음이라 뿌듯하다. 일주일 후 면접인데 진짜 어떻게든 붙고 만다.. 면접 준비 빡세게 해보자!!


스프링 없이 순수 자바로만 싱글톤 객체 만들어보세요.

public class Singleton {
    private static Singleton instance;
	
    // private 생성자로 외부에서의 객체 생성 방지
    private Singleton() {
    }

    public static synchronized Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
    // 기능구현..
}
//-------------------------------------
public class Main {
    public static void main(String[] args) {
        Singleton singleton1 = Singleton.getInstance();
        Singleton singleton2 = Singleton.getInstance();

        System.out.println(singleton1 == singleton2); // true
    }
}
  • private 생성자를 갖고있기 때문에 외부에서 이 객체를 생성할수 없다. 필드에서 private static 변수로 본인 객체의 인스턴스를 하나 갖고 있다. getInstance 메서드로 인스턴스가 없을때만 하나 만들어서 쓰도록 한다. synchronized를 써서 멀티스레드에서도 동기화를 보장한다.
profile
꾸준히 성장하기 위해 매일 log를 남깁니다!

0개의 댓글