인스턴스를 오직 한 개만 만들어서 제공하는 클래스가 필요한 경우에 사용하는 패턴
시스템 런타임, 환경 세팅에 대한 정보 등, 인스턴스가 여러 개 일 때 문제가 생길 수 있는 경우가 있다. 인스턴스를 오직 한 개만 만들어 제공하는 클래스가 필요할 때 사용
메모리, 속도 측면 향상 : 객체의 인스턴스를 재 사용하기 때문(고정된 메모리 영역을 사용)
데이터 공유가 쉬움 : 기존 인스턴스가 전역으로 사용되기 때문
인스턴스가 한 개만 존재하는 것을 보증하고 싶은 경우
특징으로는 private constructor를 갖는다는 점, static mehtod를 사용한다는 점이다.

public class Settings {
private static Settings instance;
private Settings() {
}
public static Settings getInstance(){
if(instance == null){
instance = new Settings();
}
return instance;
}
}