혼자 공부하는 자바 (저자 : 신용권)의 내용을 개인적으로 정리하는 글임을 알립니다.


필드는 객체의 고유 데이터, 객체가 가져야 할 다른 객체, 객체의 현재 상태 데이터를 저장하는 곳이다.

 

필드 선언

필드 선언은 클래스 중괄호 블록 어디든 할 수 있다, 하지만 생성자와 메소드 중괄호 블록 내부에는 선언될 수 없다.

생성자와 메소드 중괄호 블록 내부에 선언된 것은 모두 로컬 변수가 되기 때문이다.

필드 선언은 변수의 선언 형태와 비슷하다. 그래서 일부 사람들은 클래스 멤버 변수라고 부르기도 한다.

 

필드의 초기값은 필드 선언 시 주어질 수도 있고 생략될 수도 있는데, 초기값이 지정되지 않은 필드는 객체 생성 시 자동으로 기본 초기값으로 설정된다.

 

필드 사용

필드를 사용한다는 것은 필드값을 읽고 변경하는 작업을 말한다. 클래스 내부의 생성자나 메소드에서 사용할 경우 단순히 필드 이름으로 변경하면 되지만, 클래스 외부에서 사용할 경우 우선적으로 객체를 생성한 뒤 필드를 사용해야 한다.

위 그림을 보면 Car클래스의 speed 필드는 생성자와 메소드에서 변경이 가능하다.

C나 C++ 개발자라면 클래스 내에서 전역 변수라고 생각하면 편하다.

하지만 외부 Person 클래스에서 Car 클래스의 speed 필드값을 사용하려면 Car 객체를 먼저 생성해야 한다.

 

Car.java

package TestPakage;
public class Car {
	//필드
		String company = "기아";
		String model = "A";
		String color = "흰색";
		int maxSpeed = 350;
		int speed;
}

Test.java

package TestPakage;
public class Test {
	public static void main(String[] args) {	
		Car Car1 = new Car();//객체 생성
		
		System.out.println("제작회사 :  " + Car1.company);
		System.out.println("모델명 : " + Car1.model);
		System.out.println("색깔 :  " + Car1.color);
		System.out.println("최고 속도 : " + Car1.maxSpeed);
		System.out.println("현재 속도 : " + Car1.speed);
		
		Car1.speed = 60;//필드 값 변경
		System.out.println("수정된 속도 : " + Car1.speed);
	}
}
/*
제작회사 :  기아
모델명 : A
색깔 :  흰색
최고 속도 : 350
현재 속도 : 0
수정된 속도 : 60
*/

'Java Category > Java' 카테고리의 다른 글

[JAVA] 메소드(Method)  (0) 2023.01.02
[JAVA] 생성자(Constructor)  (0) 2023.01.01
[JAVA] 클래스(Class)  (0) 2022.12.30
[JAVA] 객체 지향 프로그래밍(OOP)  (0) 2022.12.29
[JAVA] 열거 타입(enum)  (0) 2022.12.28