[빈-3] 싱글턴 (Singleton)

seratpfk·2022년 8월 3일
0

JAVA

목록 보기
76/96

static 필드

  • 객체 생성 이전에 메모리에 미리 만들어 두는 필드

static 메소드(클래스 메소드)

  • 클래스가 생성될 때 함께 생성되는 메소드
  • 객체 생성 이전에 만들어지기 때문에 객체로 접근하지 않는다.
  • 클래스이름으로 접근한다.
  • User user = User.getInstance()

User 클래스

public class User {
	private static User user = new User();
	private User() {  // User 객체 생성은 User 내부에서만 가능하다.	
	}
	public static User getInstance() {
		return user;
	}
}

Main 클래스

ublic class Main {
	public static void main(String[] args) {
		User user1 = User.getInstance();
		System.out.println(user1);
		User user2 = User.getInstance();
		System.out.println(user2);
	}
}
  • singleton 객체는 하나만 생성된다.
  • User user = new User(); 외부에서는 새로운 객체를 생성할 수 없음

출력:
ex03_singleton.User@26f0a63f
ex03_singleton.User@26f0a63f

  • 같은 값이 출력된다.

0개의 댓글