### 배열
선언 : int array[] = new int[3];
배열생성시 자동으로 기본값은 초기화되며 기본값은 멤버변수 생성시 초기화 값과 같다.
int arr[] = new int[]; 이 경우는 배열의 크기를 지정하지 않아서 무효!
### 접근 제한자
default 접근 제한자는 private.
private : 클래스내에서만 액서스 가능, 패키지 끼린 안됨!
public : 어디서나 액서스!
protected : 상속받은것들, 같은 클래스, 상속받은 외부 클래스 엑서스 가능
### final 제한자
1. 클래스에 선언할 경우 상속 못함
2. 메서드에 선언할 경우 재정의 못함
3. 변수에 선언할경우 변수내용 변경못함
4. final 메서드가 있다고 꼭 클래스에 final 제한자를 둘 필욘 없음(abstract랑 비교됨)
### abstract 제한자
1. 내용이 정의되지 않은 메서드를 하위 클래스가 재정의 해서 사용
2. 추상메서드를 하나라도 가지고 있는 클래스는 absract제한자로 선언 되야한다.
3. 추상 클래스를 상속받는 클래스는 추상 클래스의 추상메서드를 반드시 재정의 해서 사용해야함
abstract class A {
abstract void Method();
}
### static 제한자
static로 선언된 메서드나 변수는 클래스 로딩시 메모리에 적재된다. 때문에 객체 생성없이 바로 이용가능
멤버변수, 메서드, 내부클래스에 선언될수 있지만 자동변수(지역변수)에선 선언안됨