반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- StringWriter
- Linux셋팅
- ThreadGroup()
- 상관서브쿼리
- first-of-child
- MemoryStream
- InputDialog
- isinterrupted()
- ID중복
- String char[] 형변환
- 상관 서브 쿼리
- char[] String 형변환
- StringReader
- include지시자
- 표현 언어
- ObjectInputStream
- interrupt()
- first-child
- sleep()메소드
- include액션태그
- 동기화
- Daemon()
- include 지시자
- 리눅스세팅
- 리눅스셋팅
- 스레드그룸
- interrupted()
- 메모리스트림
- Linux세팅
- 아이디중복
Archives
- Today
- Total
다연이네
[days16] 싱글톤패턴 본문
반응형
싱글톤 패턴
1. 단 하나만의 객체를 생성해서 사용하겠다
2. 전체 프로그램 상에서 단 하나만의 객체만 생성하도록 보장하는 패턴
3. new 클래스() 불가
public class Ex07 {
public static void main(String[] args) {
/* DBComponent com1 = new DBComponent(); //new 쓸때마다 새로운 DB컴포넌트 생성
DBComponent com2 = new DBComponent();
DBComponent com3 = new DBComponent();
DBComponent com4 = new DBComponent();
*/
//에러 : The constructor DBComponent() is not visible
//DBComponent com4 = new DBComponent();
//생성자를 private로 선언하면 new 연산자 매번 객체 생성을 못한다
DBComponent com1 = DBComponent.getDBComponent();
DBComponent com2 = DBComponent.getDBComponent();
DBComponent com3 = DBComponent.getDBComponent();
DBComponent com4 = DBComponent.getDBComponent();
System.out.println(com1.hashCode()); //해시코드 : 객체가 동일한 객체인지 확인하기 위한 코드값
System.out.println(com2.hashCode());
System.out.println(com3.hashCode());
System.out.println(com4.hashCode());
}
}
// DB 연결해서 처리하는 객체 필요
class DBComponent{
private DBComponent() { //1. 매번 객체를 생성하지 못하도록 private로 생성자 선언
} //이놈에 의해new에 의해 객체선언 못함
// 3. static 필드는 프로그램 시작과 동시에 메모리에 할당
private static DBComponent dbCom = null; // Car car = new Car 해서 Car 메소드 가져오는것
//얘는 왜 static ? 객체 생성 없이 메모리에 올라가있어야 하니까
// 2. static 메소드는 프로그램 시작과 동시에 메모리에 할당
// static +리턴타입이 DBComponent+ getInstance()
public static DBComponent getDBComponent() { // 이 메서드 자체가 dbCom 객체를 넘겨주니깐.. 다른 .. 매개변수 필요 없어요..
if(dbCom == null) {
dbCom = new DBComponent(); //한번도 안만들어졌으면 생성해서 돌리고
} //한번이라도 만들어졌다면 생성 없이 있는 놈 그냥 돌리고
return dbCom;
}// 이 코딩에 의해 매번 만드는게 아니라 없을때만 만드는것
}
출력값
366712642
366712642
366712642
366712642
반응형
'Java' 카테고리의 다른 글
[days17] 예외처리 (Exception handling) (0) | 2020.10.18 |
---|---|
[days17] 인터페이스, 익명클래스 (0) | 2020.10.18 |
[days16] 다형성 (0) | 2020.10.17 |
[days16] final (0) | 2020.10.17 |
[days16] 클래스 간의 형변환 ( 사원, 정사원, 영업사원, 임시직사원) (0) | 2020.10.17 |
Comments