1. static 메서드에선 this 사용 못함
- this는 인스턴스 자신을 가리킴
- static 메서드에선 인스턴스 개념이 없음
2. 인스턴스 변수는 자동으로 초기화됨
3. 초기화 블럭
클래스 변수와 인스턴스 변수를 초기화 할 수 있는 방법
- 클래스 초기화 블럭
- 메모리 로드될 때 한 번만 불림
- 배열에 특정 값들을 대입하는 등 일반적인 초기화 구문에서 쓰기 힘든 것을 블럭으로 초기화
- 기본값 → 명시적 초기화 → 클래스 초기화 블럭
- 인스턴스 초기화 블럭
- 인스턴스 생성될 때 마다 불림
- 모든 생성자에 공통적으로 불려짐.
- 기본값 → 명시적 초기화 → 인스턴스 초기화 블럭 → 생성자
class AA {
static int[] arr = new int[10];
int bbb;
char ccc;
// 클래스 초기화 블럭
static {
for(int i=0; i<arr.length;; ++i) {
arr[i] = i+1;
}
}
// 인스턴스 초기화 블럭
{
bbb = 123;
ccc = 'a';
}
}
4. 상속
5. 오버라이딩
조건 특징