[TIL][Java][2023-12-15] 객체 - 객체의 속성: 필드
2023. 12. 15. 21:00ㆍTIL/Java
필드
- 클래스 내에서 객체의 상태를 나타내는 변수
- 클래스 안에 선언된 변수들이 객체의 속성이다.
필드의 초기값과 초기화
- 필드들은 기본적으로 초기값을 제공하지 않을 경우 객체가 생성될 때 자동으로 기본값으로 초기화된다.
- 초기값을 제공하는 방법: 필드타입 필드명 = 값;
필드 타입별 기본값
데이터 타입 | 기본값 |
byte | 0 |
char | \u0000 (공백) |
short | 0 |
int | 0 |
long | 0L |
float | 0.0F |
double | 0.0 |
boolean | false |
배열 | null |
클래스 | null |
인터페이스 | null |
필드 사용방법
필드를 사용한다는 것은 필드의 값을 변경하거나 읽는 것을 의미한다.
- 클래스에 필드를 정의하여 선언했다고 바로 사용할 수 있는 것은 아니다.
- 클래스는 설계도일 뿐 실제로 필드의 데이터를 가지고 있는 것은 객체이다.
- 따라서 객체를 생성한 후에 필드를 사용할 수 있다.
- 외부 접근
- 객체를 생성했다면 참조변수를 이용하여 외부에서 객체 내부의 필드에 접근하여 사용할 수 있다.
- 객체 내부의 필드에 접근하는 방법은 도트 연산자를 사용한다.
- 내부 접근
- 객체 내부 메서드에서 내부 필드에 접근할 수 있다.
- 메서드 내부에서 객체의 필드를 바로 호출해서 사용할 수 있다.
// 자동차 클래스
public class Car {
String company; // 자동차 회사
String model = "Gv80"; // 자동차 모델
String color; // 자동차 색상
double price; // 자동차 가격
double speed; // 자동차 속도 , km/h
char gear; // 기어의 상태, P,R,N,D
boolean lights = true; // 자동차 조명의 상태
Tire tire = new Tire();
Door door;
Handle handle;
public Car() {} // 기본 생성자
double gasPedal(double kmh) {
speed = kmh;
return speed;
}
double brakePedal() {
speed = 0;
return speed;
}
char changeGear(char type) {
gear = type;
return gear;
}
boolean onOffLights() {
lights = !lights;
return lights;
}
void horn() {
System.out.println("빵빵");
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car(); // 객체 생성
// 초기값과 기본값 확인하기
System.out.println("car.model = " + car.model); // 초기값 "Gv80"이 출력
System.out.println("car.color = " + car.color); // 기본값 null이 출력
System.out.println();
System.out.println("car.speed = " + car.speed); // 기본값 0.0이 출력
System.out.println("car.gear = " + car.gear); // 기본값 \u0000(공백)이 출력
System.out.println("car.lights = " + car.lights); // 초기값 true가 출력
System.out.println();
System.out.println("car.tire = " + car.tire); // 초기값 인스턴스의 주소가 출력
System.out.println("car.door = " + car.door); // 기본값 null이 출력
System.out.println();
// 필드 사용
car.color = "blue"; // 필드 color에 "blue" 데이터를 저장
car.speed = 100; // 필드 speed에 100 데이터를 저장
car.lights = false; // 필드 lights에 false 데이터를 저장
System.out.println("car.color = " + car.color); // 저장된 "blue" 데이터가 출력
System.out.println("car.speed = " + car.speed); // 저장된 100.0 데이터가 출력
System.out.println("car.lights = " + car.lights); // 저장된 false 데이터가 출력
}
}
'TIL > Java' 카테고리의 다른 글
[TIL][Java][2023-12-19] 오버로딩 (0) | 2023.12.19 |
---|---|
[TIL][Java][2023-12-18] 객체 - 객체의 행위: 메서드 (0) | 2023.12.18 |
[TIL][Java][2023-12-13] 객체 - 객체 생성과 참조형 변수 (0) | 2023.12.13 |
[TIL][Java][2023-12-12] 클래스 (2) | 2023.12.12 |
[TIL][Java][2023-12-08] 객체 지향 프로그래밍 (0) | 2023.12.08 |