[JAVA] singleton 패턴
2021. 9. 15. 00:10ㆍ프로그래밍/JAVA
728x90
반응형
클래스를 설계를 하고 객체를 생성해 만들어진 인스턴스는 여러 개가 생성될 수 있습니다.
하지만 프로그래밍을 하다 보면 생성된 객체가 단 하나만 존재해야 할 때가 있습니다.
그럴 때 사용하는 게 singleton 패턴인데요.
싱클톤 패턴은 한 번 생성 후 전역적으로 사용할 수 있기 때문에
다른 객체와 공유가 가능한 점,
한 번만 선언하기 때문에 메모리 소모가 덜 하다는 점이 장점입니다.
※ 간단한 활용 예
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package singleton;
public class Company {
private static Company instance = new Company(); // 전체에서 유일하게 사용될 instance, null 이거나 값이 바뀔 수 없음
private Company(){} // Company 컨스트럭터를 외부에서 호출하지 못하게 함
public static Company getInstance() { // 객체를 생성하지 않고 메서드를 부르기 위해 static으로 선언
if(instance == null)
instance = new Company();
return instance; // 외부에서 instance를 가져다 쓸 수 있음
}
}
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package singleton;
public class CompanyTest {
public static void main(String[] args) {
Company c1 = Company.getInstance(); // instance메서드를 가져옴
Company c2 = Company.getInstance();
System.out.println(c1); // c1, c2는 같은 주소값을 가짐
System.out.println(c2);
}
}
|
cs |
728x90
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 향상된 for문, 빠른 for문(enhanced for loop) (1) | 2021.09.17 |
---|---|
[JAVA] ArrayList (0) | 2021.09.16 |
[JAVA] static 변수 (0) | 2021.09.14 |
[JAVA] this란? (0) | 2021.09.09 |
[JAVA] 정보은닉(information hiding) (0) | 2021.09.08 |