[Java] 필드 (Field)

Haeun Noh·2022년 10월 20일
0

JAVA

목록 보기
8/8
post-thumbnail

1020


필드 (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 클래스


profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글