예를들면 class Foo 가 있슴.이걸 동적으로 생성할건데.Foo foo=new Foo(); 처음 했을때 이건 성공하고Foo foo2=new Foo(); 이렇게 두번째 할때는 거부하고 싶은거임어떠케 해야 할까?
앞댓글은 별로였고 디자인패턴 싱글톤 고고
ᄂ그게 안되더라거..
1. 생성자를 default로 해서 가시성을 패키지 내부로 한정하고 2. FooFactory클래스를 만들어서 안에 Foo 인스턴스를 static 필드로 갖게 한다. 3.FooFactory.getInstance() 스태틱 메소드가 foo인스턴스를 반환하게 한다.
말만들어선 잘 이해가 안가네
싱글톤 예제 봐야겠다
Foo클래스의 생성자를 defult로 선언하면 패키지 외부에서는 생성자 호출을 못하니 인스턴스를 만들 수가 없음. 그러면 대신 생성자를 호출할 수 있는 팩토리 클래스를 마련해서 Foo클래스와 같은 패키지에 넣어둠. 일반적인 접근 방식은 이러하다.
보고왔는데 잘 알겠음.. 스태틱으로 하나만 생성해논걸 돌림빵 한다는 소린데.. 일단 일케 해바야겠음
A a = new A(); 하면 private A(){} 이거 하면 객체생성 더이상 안됨