Singleton Pattern
싱글턴 패턴(Singleton pattern)
싱글턴 패턴(Singleton pattern)
싱글턴 패턴은 인스턴스를 하나만 생성하여 사용하는 패턴이다.
개인적으로 가장 쉬우면서 흔하게 볼 수 있는 패턴이다.
정의 및 예시
어떤 게임의 설정 클래스가 있다고 하자.
public Config {
private int volume = 10;
private int theme = Config.DARK;
}이 설정을 다른 클래스(캐릭터, 키보드 관리자 등)에서도 사용하고 싶다.
public Character {
private Config config;
}
public Keyboard {
private Config config;
}두 클래스 Character와 Keyboard는 같은 설정을 가지고 있을까? 아니다.
이 문제는, 아래처럼 해결할 수 있다.
Config 클래스의 생성자를 직접 호출하지 못하도록 하여, 인스턴스가 한번만 생성되도록 한다. 대신 getInstace 등의 함수로 인스턴스를 가져다 쓸 수만 있도록 제한한다.
문제점
메모리에 계속 떠있다보니, 싱글톤으로 만든 인스턴스가 무거우면 문제가 된다.
Links
Last updated
Was this helpful?