- 데이터, 상태 등의 속성이 저장되는 공간
- 선언 형태는 변수와 비슷하지만, 필드를 변수라고 부르지 않음
- 필드는 생성자와 메소드 전체에서 사용되며 객체가 생성되고 소멸하기 전까지 객체와 함께 존재
필드 선언
[접근 제한자] [예약어] 자료형 변수명[= 초기값];
- 클래스 중괄호 블록 어디서든 존재 가능
- 생성자와 메소드 중괄호 블록 내부에는 선언될 수 없음
- 접근 제한자는 public, private, default, protected 가능
public class Member {
public String name;
private int age = 20;
...
}
필드 사용
- 클래스 내부에서 필드는 생성자와 모든 메소드에서 사용이 가능
- 클래스 외부에서 필드를 사용하려면 클래스로부터 객체를 생성하고 필드를 사용해야 함
- public인 경우 도트(.)연산자를 사용해서 필드에 접근 가능
Member member = new Member();
member.name;
member.age;
- 클래스 내부의 생성자나 메소드에서 사용할 경우 단순히 필드 이름으로 읽고 변경하면 되지만, 클래스 외부에서 사용할 경우 우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용
- 필드는 객체에 소속된 데이터이므로 객체가 존재하지 않으면 필드도 존재하지 않기 때문