필드
에는 객체의 고유데이터, 객체가 가지는 '부품'들, 객체의 현재 상태 데이터 저장한다.
예를 들면.. 밑에 사진과 같은 정보들.
이런 정보들은 필드로 선언된다.
필드 작성할 때 저러한 내용이 들어가는 것이다.
생성자나 메소드 중괄호를 제외한 클래스 중괄호 어디든 필드를 작성할 수 있다.
(생성자, 메소드 중괄호 안에 선언된 것들은 모두 로컬 변수....)
저번에도 봤지만 필드 선언하는 것은 마치 변수 선언하는 것처럼 보인다.
그래서 보통 '클래스 멤버 변수'라고 부르기도 하는데,
저번에 학습했듯이 이거는 엄밀히 잘못된 표현이고
그냥 필드라는 용어를 사용하는 것이 좋다.
<<필드 선언 예시 들어보기>>
-예은 클래스-
String live_in = "인천";
String boyfriend = "yhs";
int age = 22;
int power = 10000000;
int account;
boolean todayJavaStd;
++초기값 지정 안한 필드 => 필드 객체 생성시 자동으로 타입별 기본 초기값으로 설정된다.
(저번에 한 거! 타입별 기본 초기값.)
필드 사용
>>필드 값을 읽고 변경하는 것<<
유의: 필드는 객체에 소속된 데이터이다.
어떤 클래스에서 사용하기 위해서는 객체를 먼저 선언해야 한다.
if 클래스 내부 사용, 객체가 이미 선언되어 있으므로 메소드 내에서 그냥 데이터 변경 가능하다.
예를 들면, 필드를 int speed; 선언한 뒤 어떤 메소드 내부에서 speed = 10; 이라고 바로 변경 가능하다.
else if 클래스 외부 사용, "클래스로부터 객체 생성" 먼저 해야한다. 필드는 "객체에 소속된 데이터"이므로 객체 선언 먼저 해야한다.
이 내용은 다음과 같다.
myCar변수가 Car객체를 참조하게 되면, 도트(.)연산자를 사용해서 speed 필드에 접근 가능한 것이다.
아까 공부했듯이, 도트 연산자는 '객체 접근 연산자'이다.
객체가 가지고 있는 필드, 메소드 사용하고 싶을때 도트 연산자를 사용한다.
myCar.speed=60;
>>객체가 가지고 있는 필드를 사용
<Car클래스 실습>
ㅇCar클래스(=>내부클래스)
ㅇ외부클래스에서 Car필드값 읽기와 변경하기
(Car클래스에서 speed필드 선언했을 때 값을 따로 주지 않았지만, int타입의 기본값인 0이 자동으로 저장되어 있는 것을 볼 수 있다.)
<<타입별 자동 초기화값 확인해보기>>
확인 문제
02~03번
'JAVA' 카테고리의 다른 글
[1주차] 기본미션 + 선택미션 [혼공단] [혼공자] (0) | 2020.07.07 |
---|---|
[혼자 공부하는 자바] 7/06 06-3 [생성자] [생성자 선언] [생성자 오버로딩] (0) | 2020.07.06 |
[혼자 공부하는 자바] 7/06 06-1 [클래스 선언] [클래스 구성] [new 연산자] [필드] [생성자] [메소드] (0) | 2020.07.06 |
[혼자 공부하는 자바] 7/04 05-2 배열2 (0) | 2020.07.04 |
[혼자 공부하는 자바] 7/03 05-2 배열 (0) | 2020.07.03 |