public ( 모든 클래스에서 접근 가능 )
protected ( 자신과 상속받은 클래스만 접근 가능)
default ( 같은 패키지 내의 클래스만 접근 가능 )
private ( 자신의 클래스만 접근 가능 )
접근 지정자
- 정보 은닉, 데이터 무단 변경을 막기 위해 설정
- getter, setter 등의 메서드를 활용
접근 지정자 | 해당 클래스 안 | 패키지 | 자식 클래스 | 전체 |
public | O | O | O | O |
protected | O | O | O | X |
default (생략) | O | O | X | X |
private | O | X | X | X |
싱글톤(Singleton)
- 유일한 객체, 코드 내에서 하나밖에 존재하지 않는 객체
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