반응형
디자인 패턴 : 더 효율적이고 유지보수가 쉽게 객체지향으로 프로그래밍해서 23가지 패턴으로 정리한 것
그중 한 가지가 싱글톤 패턴이다.
싱글톤 패턴이란?
프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 (예를 들면 회사(?))
static 변수, 메서드를 활용하여 구현 할 수 있음.
ex. 싱글톤 패턴으로 회사 객체 구현하기
public class Company {
private static Company instance = new Company(); //유일한 객체
private Company() {
}
//instance 생성없이 메서드를 호출할 것이기 때문에 static으로 적용
public static Company getInstance() {
if(instance == null) {
instance = new Company();
} //instance가 없으면 생성해줘라 라는 방어적인 코드
return instance;
}
}
① 생성자는 private으로 선언
② 클래스 내부에 유일한 private 인스턴스 생성
private static Company instance = new Company();
③ 외부에서 유일한 인스턴스를 참조할 수 있는 public 메서드 제공
결과 test
public class CompanyTest {
public static void main(String[] args) {
Company company1 = Company.getInstance();
Company company2 = Company.getInstance();
System.out.println(company1);
System.out.println(company2);
//company1과 company2의 참조값이 같다.
}
}
여기서는 static을 이용한 싱글톤 패턴을 간단하게 알아보았습니다. 다음 디자인 패턴을 공부할 때 다시 한번
구체적으로 공부해보겠습니다.
반응형
'개발 > Java' 카테고리의 다른 글
객체 배열 (0) | 2021.04.23 |
---|---|
배열(array) (0) | 2021.04.23 |
변수의 유효 범위와 메모리 (0) | 2021.04.22 |
Static 변수 (2) | 2021.04.22 |
객체 간의 협력 (collaboration) (0) | 2021.04.22 |