본문 바로가기
Work & Study/JAVA (& 혼공자Java)

자바(Java) - 필드 (Field)

by a.k.a DUKI 2020. 9. 28.
728x90
반응형

필드 (Field) 란,

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

 

필드 선언

필드 선언은 클래스 중괄호 {} 블록 어디서든 존재할 수 있다.

  • 생성자 선언과 메소드 선언 앞,뒤 어떤곳에서도 필드 선언이 가능
  • 생성자와 메소드의 중괄호 안에 선언할 수 없다. 안에서 선언하는 경우 필드가 아니라 변수가 된다.
  • 선언 형태는 변수와 비슷하지만, 필드를 변수라고 부르지 않는다.
타입필드 [ = 초기값];

혼공자 유툽 참고

 

타입 필드에 타입은 기본타입과 참조타입이 모두 올 수 있다.

또한, 필드의 초기값은 필드 선언시 주어질 수도 있고, 생략될 수도 있다.

String company = "BMW";
String model = "x6";
int maxSpeed = 300;
int currentSpeed;
boolean engineStart;

 

 

필드 사용

필드 값을 읽고 변경하는 작업을 말한다.

클래스 내부의 생성자나 메소드에서 사용할 경우 단순히 필드 이름으로 일고 변경하면 된다.

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

혼공자 유툽 참고

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

변수와 비슷하나,

  • 변수: 자신이 선언된 생성자 또는 메소드 블록 내부에서만 사용 가능

  • 필드: 생성자와 모든 메소드에서 사용 가능

외부 클래스에서 필드가 있는 클래스를 사용하면서 객체를 생성해야한다.

new연산자() 를 이용해 생성하면, 토드(.)을 이용하여 필드에 접근하여 데이터를 사용 할 수 있다.

 

 

예시1) car 클래스 필드 선언, 외부 클래스에서 값 읽기 & 변경하기

왼쪽 Car 클래스는 필드를 선언 한 부분

오른쪽 CarEx 클래스는 필드값을 읽어서 사용하는 부분 이다.

 

 

 

 

 

 

 

 

 

※용어 정리

  • 필드 선언: 클래스 중괄호 {} 블록 어디서든 선언하나, 생성자와 메소드 내부에서는 선언할 수 없다.
  • 필드 사용: 클래스 내부의 생성자와 메소드에서 바로 사용가능하나, 클래스 외부에서 사용할 경우 반드시 객체를 생성하고 참조 변수를 통해 사용해야 한다.

 

 

 

 

 

본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.

 

728x90
반응형