static, final, 싱글톤
final : 클래스, 필드(인스턴스변수), 메소드
- 클래스final : sub클래스가 없는 클래스
- 변수 : 상수선언(필드, 매개변수, 지역변수)
- 메소드final : 오버라이딩 불가
*오버라이딩 : 상위클래스에서 정의한 메소드를 하위클래스 다시 재정의.
static : 필드, 메소드, 클래스(부분)
- static 필드 및 메소드는 객체를 생성하지 않아도 사용가능
- 사용시점 : 클래스이름으오 접근하기 때문에 그때 메모리에 로딩
- static 필드 및 메소드는 클래스명.필드 or 메소드 일때
메모리 로딩이 되지만 non-static 필드 및 메소드는
반드시 객체를 생성해야 메모리 로딩된다.
그래서 non-static 필드 및 메소드는 static 필드 및 메소드에
사용 할 수 없다.
singleton
접근지정자
private
protected
: 같은 패키지 아닌 경우는 반드시 상속을 통해서 가능
public