1.
싱글턴 (SingleTon) ← 객체를 하나만 유지하는 경우
외부에서 어떤 클래스에 대한 객체를 하나 만들고, 그 객체에 대한 메소드 호출을 막는다.
싱글턴 유지를 해야하는 객체의 경우에는 이 객체 생성과 동시에 초기화를 해주고 그 객체가 프로그램이 끝날 떄까지 유지가 되길 바람...
자기 자신을 멤버 변수로 두는 경우가 있음 (자기 객체가 Wrapping Class가 되는 경우)
이 자기 자신 멤버 변수를 초기화를 ← 초기화 해주는 멤버 함수를 프라이빗
class Singleton {
static final _something = Singleton._internal();
factory Singleton() {
return _something;
}
Singleton._internal() {
// 객체에 대한 옵셔널들 알아서 로직 처리하도록
}
}
Java
복사
•
싱글턴 객체들을 관리해주는 객체에서 이 싱글턴 객체가 처음으로 호출 되었을 때 생성하도록 (Lazy SingleTon)해도 되고
•
프로그램 진입점 main Entry에서 처리를 해도 됨
2.
스트림 관련 함수와 같이 객체 내부에서만 공용성 높게 처리를 하려구 쓰는 경우