-
[Java] 싱글톤이란?JAVA 2025. 2. 12. 21:55반응형
실글톤이란?
가끔 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우,
단 하나만 생성 된다고 해서 이 객체를 싱글톤이라고 한다.
싱클톤을 만들려면 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야한다.
생성자를 호출한 만큼 객체가 생성되기 대문이다.
외부에서 생성자를호출할 수 없도록 하려면 생성자 앞에 private 접근 제한자를 붙여주면 된다.
그리고 자신의 타입인 정적 필드를 하나 선언하고 자신의 객체를 생성해 초기화 한다.
참고로 클래스 내부에서는new 연산자로 생성자 호출이 가능하다.
정적 필드도 private 접근 제한자를 붙여 외부에서 필드값을 변경하지 못하도록 막아야 한다.
대신 외부에서 호출할 수 있는 정적 메소드를 선언하고정적 필드에서 참조하고 있는 자신의 객체를 리턴해준다.
정적 메소드의 리턴 값은 클래스의 참조 값임으로 "static 클래스 메소드명() {}" 식으로 작성하면 된다.
핵심키워드
1. 단 하나의 객체만 만들어야 할때(단 하나의 객체는 본인 클래스 내부에서)
2. 외부에서 객체를 생성할 수 없도록 생성자 접근 제한자를 private
3. 외부에서 호출할 수 있는 정적 메소드 선언, 정적 메소드는 필드에서 참조하고 있는자신의 객체를 리턴
'JAVA' 카테고리의 다른 글
[Java] 인터페이스란? (2) 2025.02.13 [Java] 추상 클래스란? (0) 2025.02.12 [Java] StringTokenizer 사용 방법 / readLine(), nextToken() 차이점 <적용문제> (6) 2024.11.22 [Java] StringBuffer, StringBuilder, String 문자열 비교 <적용문제> (8) 2024.11.12 [Java] 동적 계획법 (DP: Dynamic programmig) 이해하기 <적용문제> (6) 2024.04.03