일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 목록
- html
- 반복문
- springboot
- 시큐리티로그인
- JAVA11
- 시큐리티 로그인
- 시큐리티
- sql
- 리눅스
- 프로그래머스
- codingtest
- 스프링 부트
- input태그
- java
- programmers
- 로그인
- 소스트리
- Spring boot
- 2차원배열
- springSecurity
- 코딩테스트
- javascript
- 시큐리티 로그아웃
- css
- gradle
- Linux
- StyleSheet
- security
- 싱글톤
Archives
- Today
- Total
JAVAIARY
Singleton pattern II 본문
시리얼넘버, 학번과 같이 중복되어서는 안되는 케이스에 적용시키기
요구사항 : 입사하는 신입사원마다 새로운 Id를 부여해줄 것.
Id는 중복되지 않을 것.
기본사항 : 인스턴스를 생성해주는 Company클래스와 사번을 부여해주는 JoinCompany 2개의 클래스를 가지고 진행
public class Company{}
public class JoinCompany{}
Company Class
Singleton Pattern I
1개의 instance만 사용하는 singleton pattern private static Company instance = new Company(); // * private Company() { // ** } public static Company getInstance() { if (instance == null) { instance =..
javaiary.tistory.com
public JoinCompany creatId() {
JoinCompany newId = new JoinCompany();
return newId;
}
- Company클래스에 JoinCompany클래스를 참조하여 newId를 받아오는 creatId 메서드 생성
JoinCompany Class
public static int serialNum = 2022;
private int Id;
★ ★ serialNum 은 중복 방지를 위해 static으로 선언해 줄 것
public JoinCompany() {
Id = serialNum;
serialNum++;
}
- JoinCompany()를 호출할 때마다 Id를 배정해주고 다음 사번(serialNum)을 증가시켜 줌
public int getId() {
return Id;
}
- Id를 private으로 선언했기 때문에 불러올 수 있는 getId()생성
확인
Company cmpny = Company.getInstance();
- Company의 인스턴스를 참조하는 Company cmpny 참조변수 생성
JoinCompany company3 = cmpny.creatId();
JoinCompany company4 = cmpny.creatId();
- ★ cmpny 인스턴스를 통해 JoinCompany변수가 Company에 있는 creatId()에 접근 가능
System.out.println(company3.getId());
System.out.println(company4.getId());
- company3,4의 타입이 JoinCompany이기 때문에 getId()호출 가능
'review' 카테고리의 다른 글
학점 부여 프로그램 (1) | 2022.10.03 |
---|---|
linkedList 노드의 추가와 삭제 (0) | 2022.09.09 |
Singleton Pattern I (0) | 2022.09.05 |
ArrayList 출력 방법 (0) | 2022.09.04 |