(Field)
: 객체의 고유 데이터, 객체가 가저야 할 부품, 객체의 현재 상태 데이터를 저장하는 곳
public class Car {
//고유 데이터
String company; //제작 회사
String model; //모델
String color; //색깔
int maxSpeed; //최고 속도
//상태 데이터
int speed; //현재 속도
int rpm; //엔진 회전 수
//부품
Body body; //차체
Engine engine; //엔진
Tire tire; //타이어
}
필드 선언은 중괄호 블록 어디서든 존재할 수 있다.
생성자 선언과 메서드 선언의 앞과 뒤 어떤 곳에서도 필드 선언이 가능하다.
하지만 생성자와 메서드 중괄호 블록 내부에는 선언될 수 없다.
생성자와 메서드 중괄호 블록 내부에 선언된 것은 모두 로컬 변수가 된다.
필드 선언
은 변수의 선언형태와 비슷하다. 그래서 일부 사람들은 클래스 멤버 변수라고 부르기도 하는데, 될 수 있으면 필드라는 용어를 그대로 사용하는 것이 좋다.
타입 필드 [ = 초기값 ] ;
타입
은 필드에 저장할 종료를 결정한다.
(byte, short, int,long, float, double, boolean)
, 참조 타입(배열, 열거, 인터페이스)
필드의 초깃값은 필드 선언 시 주어질 수도 있고 생략될 수도 있다.
//올바르게 필드를 선언한 예시
String company = "현대자동차";
String model = "그랜저";
int maxSpeed = 300;
int productionYear;
int currentSpeed;
boolean engineStart;
: 필드값을 읽고 변경하는 작업
객체에 소속된 데이터
이므로 객체가 존재하지 않으면 필드도 존재하지 않기 때문이다.//Person 클래스
void method() {
//Car 객체 생성
Car myCar = new Car();
//필드 사용
myCar.speed=60;
}
//Car 클래스