[Java]필드

Devlog·2024년 3월 4일

Java

목록 보기
12/41

✔ 필드(Field)

- 객체의 고유 데이터, 객체가 가져야 할 부품,
 객체의 현재 상태 데이터를 저장하는 곳
- 클래스의 멤버 변수라고 부르기도 함

✔ 필드 선언

[표현법] 타입 필드 [ = 초기값];

- 클래스 중괄호 {} 블록 어디서든 존재가능
- 생성자 선언과 메소드 선언의 앞과 뒤 어떤 곳에서도 필드 선언이 가능
하지만 생성자와 메소드 중괄호 {} 블록 내부에는 선언 될 수 없음 → 여기서 선언 된 것은 모두 로컬 변수가 됨

✔ 필드 사용

// Person 클래스
void method() {
	// Car 클래스의 spedd 필드 값을 사용하려면 Car 객체를 우선 생성해야함
	//Car 객체 생성
    Car myCar = new Car(); 
    
    //필드 사용
    myCar.speed = 60; //myCar.speed 60으로 변경
}

// Car 클래스
// 필드
int speed;
// 생성자
Car() {
	speed = 0;
}

// 메소드
void method(···) {
	speed = 10;
}

- 필드를 사용한다는 것은 필드값을 읽고 변경하는 작업을 말함
- 클래스 내부의 생성자나 메소드에서 사용할 경우
  단순히 필드 이름으로 읽고 변경하면 되지만,
  클래스 외부에서 사용할 경우
  우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용
해야함
필드가 객체에 소속된 데이터이므로 객체가 존재하지 않으면
  필드도 존재하지 않기 때문

👩‍💻Car 클래스 필드 선언 및 Car 필드값 읽기와 변경

class Car{
	//필드
	String company = "현대자동차";
	String model = "그랜져";
	String color = "검정";
	int maxSpeed = 350;
	int speed;
}

public class CarExample {
	public static void main(String[] args) {
		//객체 생성
		Car myCar = new Car();
		
		//필드값 읽기
		System.out.println("제작회사: " + myCar.company);
		System.out.println("모델명: " + myCar.model);
		System.out.println("색깔: " + myCar.color);
		System.out.println("최고속도: " + myCar.maxSpeed);
		System.out.println("현재속도: " + myCar.speed);
		
		//필드값 변경
		myCar.speed = 60;
		System.out.println("수정된 속도: " + myCar.speed);
	}
}
💻결과
제작회사: 현대자동차
모델명: 그랜져
색깔: 검정
최고속도: 350
현재속도: 0
수정된 속도: 60

0개의 댓글