[자바 (JAVA)] 46. 접근 제어자

귤's avatar
Feb 18, 2025
[자바 (JAVA)] 46. 접근 제어자
💡
public : 모든 패키지 접근 가능
private : 본인의 클래스에서만 접근 가능
default (디폴트) : 같은 패키지에서만 접근 가능
protected : 자식과 같은 패키지에서 접근 가능
Class 앞에는 무조건 public 붙여야 한다.

싱글 톤 패턴 (Singleton Pattern)

(유일하게 메인 시작 전에 heap에 객체 올리기)

package ex12; class 바론 { public static 바론 instance = new 바론(); private 바론() { } } public class Single01 { public static void main(String[] args) { System.out.println("10분지났다"); 바론 b1 = 바론.instance; System.out.println("20분지났다"); } }
💡
private 바론을 하면 new를 할 수 없다.
하지만 public static 바론 instance를 사용하여 new 바론을 띄울 수 있다.

즉시 로딩 & 지연로딩

package ex12; // 즉시로딩 class 태양 { public static 태양 instance = new 태양(); private 태양() { } } // 지연로딩 class 바론 { private static 바론 instance; public static 바론 getInstance() { if (instance == null) { instance = new 바론(); } return instance; } private 바론() { } } public class Single01 { public static void main(String[] args) { 태양 d1 = 태양.instance; // main 시작전에 뜸 (즉시로딩) 바론 d2 = 바론.getInstance(); // 이때 뜸 (지연로딩) } }
 
Share article

gyul