싱글턴 패턴
하나의 클래스에 단 하나의 인스턴스만을 생성하여 공통적으로 사용하는 것.
new로 생성자를 생성할 수 없으며 인스턴스는 private으로 선언한다.
static으로 선언된 필드를 공유하는 개념으로 사용한다.
(스프링 프레임워크에서 사용하는 방식)
1) 객체 필드에서 바로 생성하는 방법
class Bank {
String name;
private static Bank bank = new Bank("단풍은행"); // 자기 클래스의 객체 생성
// static으로 정의되어 메서드 영역의 메모리에 할당.
private Bank(String name) { // private으로 선언되어 다른 클래스에서는 참조 불가.
this.name = name; // 생성자를 정의
}
public static Bank Instance() { // 같은 클래스에서 참조변수를 액세스하려면 static으로 선언.
return bank; // 싱글톤 패턴에서는 메서드를 통해 이렇게 반환해준다.
}
public String getName() {
return name;
}
}
public class SingletonDesignPattern {
// public 클래스는 2개 이상의 public 클래스를 생성할 수 없다.
public static void main(String[] args) {
// bank의 객체를 가져오려면 원래는 new로 객체를 생성했으나 위와 같이 싱글톤으로 만들면 다음과 같이 불러올 수 있다.
Bank bank = Bank.Instance();
System.out.println("Bank 이름은 " + bank.getName());
}
}
'자바의 기초문법' 카테고리의 다른 글
람다 표현식 (Lambda Expression) (0) | 2016.05.18 |
---|---|
import static (0) | 2016.05.18 |
이클립스에서 HTML 코딩하기 (0) | 2016.02.01 |
JDBC와 빈즈를 이용한 INSERT, SELECT, UPDATE, DELETE 연습 (0) | 2016.01.28 |
JDBC와 빈즈를 이용한 로그인 프로그램 연습 (0) | 2016.01.28 |