NewObject obj = new NewObject();
와 같은 방식으로 선언하여 사용하는 것과..
NewObject obj = NewObject.getInstance();
생성자를 통한 객체생성은 일반적인 객체생성법이구...
getInstance()와 같이 특정 메소드를 통해서 인스턴스를 생성하는방법은
보통 싱글톤 패턴을 적용한 경우 많이 볼 수 있습니다.
이유인즉, 요청시마다 동일한 객체를 매번 생성하지 않고,
최초 호출시 jvm에 static하게 생성하고자 하는 클래스의 인스턴스를
생성해서 사용하고자 함이 이유입니다.
앞서 언급한 싱글톤 패턴은 좀 더 자세히 찾아 보시길 바라구요...
일반적인 싱글톤 패턴을 본다면
public class Test {
static Test instance;
//외부에서 생성을 못하도록 Default생성자는 private으로 선언합니다.
private Test{}
//특별히 메소드명이 getInstance가 아니어두 상관없습니다.
//getInstance를 싱크로나이즈(동기화) 처리하는 경우도 많이 있습니다.
public static Test getInstance() {
//instance가 null인 경우에만 객체를 생성합니다.
if (instance == null) {
instance = new Test();
}
return instance;
}
}
정리하자면,
불필요한 메모리 낭비를 막기 위함과,
jvm내에 유일하게 객체생성을 한 후 사용해야 하는 경우에
싱글톤 패턴을 사용하고
질문하신 내용은 일반적인 객체생성과 싱글톤 패턴을 통한
객체생성의 차이점이라 볼 수 있습니다.
'Program > Android Java' 카테고리의 다른 글
[필수] 유용한 자바스크립트 오픈소스 모음 (0) | 2012.07.20 |
---|---|
자바스크립트 레이어 팝업 오픈 소스 모음 (0) | 2012.07.20 |
TextView - SpannableStringBuilder 를 이용한 스타일 설정 (0) | 2012.07.17 |
Service 사용하기 (0) | 2012.07.17 |
[ JAVA ] 자바 String Util 들 (0) | 2012.07.11 |