728x90
반응형
필드 (Field) 란,
객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 테이터를 저장하는 곳이다.
필드 선언
필드 선언은 클래스 중괄호 {} 블록 어디서든 존재할 수 있다.
- 생성자 선언과 메소드 선언 앞,뒤 어떤곳에서도 필드 선언이 가능
- 생성자와 메소드의 중괄호 안에 선언할 수 없다. 안에서 선언하는 경우 필드가 아니라 변수가 된다.
- 선언 형태는 변수와 비슷하지만, 필드를 변수라고 부르지 않는다.
타입필드 [ = 초기값];
타입 필드에 타입은 기본타입과 참조타입이 모두 올 수 있다.
또한, 필드의 초기값은 필드 선언시 주어질 수도 있고, 생략될 수도 있다.
String company = "BMW";
String model = "x6";
int maxSpeed = 300;
int currentSpeed;
boolean engineStart;
필드 사용
필드 값을 읽고 변경하는 작업을 말한다.
클래스 내부의 생성자나 메소드에서 사용할 경우 단순히 필드 이름으로 일고 변경하면 된다.
클래스 외부에서 사용할 경우 클래스로 부터 객체를 생성한 뒤 필드를 사용해야 한다.
위 그림을 보면, speed필드는 생성자와 메소드에서 변경이 가능하다.
변수와 비슷하나,
-
변수: 자신이 선언된 생성자 또는 메소드 블록 내부에서만 사용 가능
-
필드: 생성자와 모든 메소드에서 사용 가능
외부 클래스에서 필드가 있는 클래스를 사용하면서 객체를 생성해야한다.
new연산자() 를 이용해 생성하면, 토드(.)을 이용하여 필드에 접근하여 데이터를 사용 할 수 있다.
예시1) car 클래스 필드 선언, 외부 클래스에서 값 읽기 & 변경하기
왼쪽 Car 클래스는 필드를 선언 한 부분
오른쪽 CarEx 클래스는 필드값을 읽어서 사용하는 부분 이다.
※용어 정리
- 필드 선언: 클래스 중괄호 {} 블록 어디서든 선언하나, 생성자와 메소드 내부에서는 선언할 수 없다.
- 필드 사용: 클래스 내부의 생성자와 메소드에서 바로 사용가능하나, 클래스 외부에서 사용할 경우 반드시 객체를 생성하고 참조 변수를 통해 사용해야 한다.
본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.
728x90
반응형
'Work & Study > JAVA (& 혼공자Java)' 카테고리의 다른 글
자바(Java) - 생성자 (Constructor)2 (0) | 2020.10.05 |
---|---|
자바(Java) - 생성자 (Constructor)1 (0) | 2020.09.28 |
자바(Java) - 객체 지향 프로그래밍2 (0) | 2020.09.28 |
자바(Java) - 객체 지향 프로그래밍1 (0) | 2020.09.23 |
자바(Java) - 열거 타입 (0) | 2020.09.23 |