접근제한자
- 클래스 변수 메서드 선언부에 사용
- public, protect, package, private
- 한번만 사용가능
- 그외 제한자
- static, final, abstract, synchronized
final
- class
- 상속 금지, 오버라이드 금지
- method
- 재정의 불가, 오버라이드 금지
- 변수
- 상수화
접근 제한자
- public
- 어디든 접근 가능
- protect
- 다른 클래스라도 자손이면 접근가능
- package - 기본
- 같은 패키지면 접근가능
- private
- 같은 클래스여야 접근가능
- 상속은 가능하대, 접근이 안됨
- 순서
- public - protect - package - private
은닉화
- 직접 접근 막기
- setter, getter로 접근
싱글톤
- 여러 객체 필요없을때
- 생성 삭제가 많은 비용이 들때
- new막기
- 생성자 private
- 접근 금지
- private 변수들 지정
- 인스턴스 반환
- static으로 인스턴스 생성
- getter를 이용해 해당 인스턴스 반환
- static getter이어야 한다.
class A{
private int a;
private static A a = new A();
private A(){}
public static A getA(){
return a;
}
}