본문 바로가기
개발 수업/JAVA

[Java] 클래스/필드(Field)

by 오늘 하루s 2023. 5. 10.
728x90
더보기

Day9-2. 230510

필드

필드란?

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

 

 

필드 선언

- 클래스 중괄호 {} 블록 어디서든 존재 가능

- 생성자 선언과 메소드 선언의 앞과 뒤 어떤 곳에서도 필드 선언 가능,

생성자와 메소드 중괄호 {} 블록 내부에서는 선언될 수 없음

- 생성자와 메소드 중괄호 블록  내부에 선언된 것은 모두 로컬 변수가 됨.

타입 필드 [ = 초기값 ];

- 타입은 필드에 저장할 데이터의 종류를 결정

- 타입에는 기본 타입(byte, short, int, long, float, double, boolea)과 참조 타입(배열, 열거, 인터페이스)이 모두 올 수 있음. 

- 초기값이 지정되지 않은 필드는 객체 생성 시 자동으로 기본 초기값을 설정됨.

 

 

필드 사용

- 필드값을 읽고 변경하는 작업.

- 클래스 내부의 생성자나 메소드에서 사용할 경우 단순히 필드 이름으로 읽고 변경하면 되지만,

클래스 외부에서 사용할 경우 우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용해야 함.

-> 필드가 객체에 소속된 데이터이므로 객체가 존재하지 않으면 필드도 존재하지 않기 때문

 

- Car 클래스의 speed 필드는 생성자와 메소드에서 변경 가능.

- 사용 방법은 변수와 동일.

변수는 자신이 선언된 생성자 또는 메소드 블록 내부에서만 사용할 수 있지만

필드는 생성자와 모든 메소드에서 사용 가능함.

 

외부 Person 클래스에서 Car클래스의 speed 필드값 사용하려면 다음과 같이 Car객체 우선 생성해야 함.

Car myCar = new Car();

 

- myCar 변수가 Car 객체를 참조하게 되면 도트(.) 연산자를 사용해서 speed 필드에 접근할 수 있음.

- 도트(.) 연산자는 객체 접근 연산자로 객체가 가지고 있는 필드나 메소드를 사용하고자 할 때 사용됨.

myCar.speed = 60;

Car 객체의 speed 필드값을 60으로 변경.

 

728x90