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