싱글톤 패턴이란?
- 프로그램에서 인스턴스가 단 한개만 생성되어야 하는 경우 사용하는 디자인 패턴
- static 변수, 메서드를 활용하여 구현할 수 있음
싱글톤 패턴으로 회사 객체 구현하기
생성자는 private으로 선언
private Company() {}
클래스 내부에 유일한 private 인스턴스 생성
private static Company instance = new Company();
외부에서 유일한 인스턴스를 참조할 수 있는 public 메서드 제공
public static Company getInstance() {
if(instance == null){
instance = new Company();
}
return instance;
}
CompanyTest.java
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);
// Calendar calendar = Calendar.getInstance();
}
}
Company.java
package ch18;
public class Company {
private static Company instance = new Company(); // static으로 선언
private Company() {
}
public static Company getInstance() {
// 메소드를 static으로 선언해야 static 변수를 가져올 수 있음
if(instance == null) {
instance = new Company();
}
return instance;
}
}
결과
Singleton : Class
instance : 변수
-Singleton
+getInstance
-는 private +는 public
2023 KAKAO Tech Campus_BackEnd 필수 과정
Java 1주차 강의 정리 내용입니다.
'개발 > Java' 카테고리의 다른 글
[3주차] Java 중급 - 객체 간의 상속은 어떤 의미일까 (0) | 2023.06.24 |
---|---|
[1주차] Java 중급 - 복습해봅시다(static과 싱글톤 패턴) (0) | 2023.06.24 |
[1주차] Java 중급 - static 메서드의 구현과 활용, 변수의 유효 범위 (0) | 2023.06.24 |
[1주차] Java 중급 - 여러 인스턴스에서 공통으로 사용하는 변수를 선언하자 - static 변수 (0) | 2023.06.24 |
[1주차] Java 중급 - 복습해봅시다(객체 협력) (0) | 2023.06.24 |