필드에서는 캡슐화가 이루어짐.
- [] =>생략가능
- () => 무조건생략
- 누구나 쓸 수 있음(public): 어디서든지 import할 수 있다.
- 외부패키지에서 사용 못함(default): 같은 패키지내에서만 사용 가능
객체(속성,기능)
필드: 객체의 속성을 작성하는 클래스 내부 영역
[접근제한자] [예약어] class 클래스명 {
[접근제한자] [예약어] 자료형 변수명 [= 초기값];
}
필드 예약어 - static(공전): 태양 주변을 돌듯이 static을 보고 값을 얻어옴(가지고 있는게 아님)
멤버변수 (== 필드)(종류는 두가지)
- 클래스변수(==Static 변수)
필드에 static 예약어와 함께 저장된 변수
static 영역에 메모리가 할당되어 프로그램 종료시 까지 유지됨
프로그램 실행 시 1회만 생성되는 변수
==> static으로 선언된 멤버변수로,
프로그램 실행 시 정적메모리 영역에 자동할당되며
프로그램 종료 시 자동 소멸
- 2. 인스턴스 변수
필드에 작성된 일반 변수
new연산자에 의해서 객체(인스턴스)가 생성될 때
메모리가 할당된다고 하여 인스턴스 변수라 함
==> heap영역에 메모리가 할당.
객체가 생성될 때 마다 생성
객체가 참조하는 변수가 없을경우 사라짐
<참고사항>
- 3 . 지역변수
메소드 또는 제어문 안에서 선언된 변수
stack 메모리 영역에 할당
메소드 종료 시 소멸됨