카테고리 없음
[ch06 클래스] 필드
김차루
2022. 7. 20. 00:21
📆 2022년 07월 10일
⏰ 23시 00분 ~ 22시 00분
✍ 혼자 공부하는 자바(신용권)
1. 필드
- 객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 데이터를 저장하는 곳
ex) ' 자동차 '
[고유 데이터] | |
제작회사 모델 색깔 최고 속도 |
String company; String model; String color; int maxSpeed; |
[상태 데이터] | |
현재 속도 엔진 회전 수 |
int speed; int rpm; |
[부품] | |
차체 엔진 타이어 |
Body body; Engine engine; Tire tire; |
2. 필드 선언
- 변수의 선언 형태와 비슷.
- 클래스 중괄호{} 블록 어디서든 존재할 수 있다.
❗ 하지만, 생성자와 메소드 중괄호 블록 내부에서는 선언될 수 없다.
-> 중괄호 블록 내부에 선언된 것은 모두 로컬 변수.
타입 필드 [ = 초기값] ;
- 타입은 필드에 저장할 데이터의 종류를 결정.
- 기본 타입과 참조 타입 모두 가능.
- 초기값이 지정되지 않은 필드는 객체 생성 시 자동으로 기본 초기값으로 설정.
분류 | 타입 | 초기값 | |
기본 타입 | 정수 타입 | byte char short int long |
0 \u0000 (빈 공백) 0 0 0L |
실수 타입 | float double |
0.0F 0.0 |
|
논리 타입 | boolean | false | |
참조 타입 | 배역 클래스(String 포함) 인터페이스 |
null null null |
3. 필드 사용
필드를 사용한다는 것 = 필드값을 읽고 변경하는 작업
# 클래스 내부의 생성자나 메소드에서 사용 #
- 단순히 필드 이름으로 읽고 변경
# 클래스 외부에서 사용 #
- 우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용
//Car 클래스 필드 선언(Car.java)
public class Car{
//필드
String company = "현대자동차";
String model = "그랜저";
String color = "검정";
int maxSpeed = 350;
int Speed;
}
//외부 클래스에서 Car 필드값 읽기와 변경(CarExample.java)
public class CarExample {
//객체 생성
Car myCar = new Car();
//필드값 읽기
System.out.println("제작회사:" + myCar.company);
System.out.println("모델명:" + myCar.model);
System.out.println("색깔:" + myCar.color);
System.out.println("최고속도:" + myCar.maxSpeed);
System.out.println("현재속도:" + myCar.speed);
//필드값 변경
myCar.speed = 60;
System.out.println("수정된 속도:" + myCar.speed)
}
}
/* 실행결과 */
/* 제작회사 : 현대자동차
모델명 : 그랜저
색깔 : 검정
최고속도 : 350
현재속도 : 0
수정된 속도 : 60 */