JAVAIARY

Singleton pattern II 본문

review

Singleton pattern II

shiherlis 2022. 9. 7. 00:39

시리얼넘버, 학번과 같이 중복되어서는 안되는 케이스에 적용시키기

요구사항 : 입사하는 신입사원마다 새로운 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