[TIL][Java][2023-12-13] 객체 - 객체 생성과 참조형 변수
2023. 12. 13. 18:35ㆍTIL/Java
객체 생성
new Car(); // Car클래스 객체 생성
- 객체 생성 연산자인 'new'를 사용하면 클래스로부터 객체를 생성할 수 있다.
- new 연산자 뒤에는 해당 클래스의 생성자 호출 코드를 작성한다.
- 형태가 기본 생성자의 형태와 같으면 new 연산자에 의해 객체가 생성되면서 기본 생성자가 호출된다.
참조형 변수
Car car1 = new Car(); // Car클래스의 객체인 car1 인스턴스 생성
Car car2 = new Car(); // Car클래스의 객체인 car2 인스턴스 생성
- new 연산자를 통해 객체가 생성되면 해당 인스턴스의 주소가 반환되기 때문에 해당 클래스의 참조형 변수를 사용하여 받아줄 수 있다.
- 객체를 가리키는 변수를 말한다.
- 실제 데이터가 저장된 메모리 위치를 가리킨다.
- 이런 변수들은 해당 객체의 메서드를 호출하거나 객체의 상태를 변경하는 등의 작업을 수행할 수 있다.
객체 배열
- 동일한 클래스의 여러 객체를 배열 형태로 저장하는 것이다.
- 객체들의 모음을 하나의 배열로 관리할 수 있다.
- 객체는 참조형 변수와 동일하게 취급되기 때문에 배열 또는 컬렉션에도 저장하여 관리할 수 있다.
// 자동차 클래스
public class Car {
String company; // 자동차 회사
String model; // 자동차 모델
String color; // 자동차 색상
double price; // 자동차 가격
double speed; // 자동차 속도 , km/h
char gear; // 기어의 상태, P,R,N,D
boolean lights; // 자동차 조명의 상태
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[] carArray = new Car[3];
Car car1 = new Car();
car1.changeGear('P');
carArray[0] = car1;
Car car2 = new Car();
car2.changeGear('N');
carArray[1] = car2;
Car car3 = new Car();
car3.changeGear('D');
carArray[2] = car3;
for (Car car : carArray) {
System.out.println("car.gear = " + car.gear);
}
}
}
// 출력
//car.gear = P
//car.gear = N
//car.gear = D
'TIL > Java' 카테고리의 다른 글
[TIL][Java][2023-12-18] 객체 - 객체의 행위: 메서드 (0) | 2023.12.18 |
---|---|
[TIL][Java][2023-12-15] 객체 - 객체의 속성: 필드 (2) | 2023.12.15 |
[TIL][Java][2023-12-12] 클래스 (2) | 2023.12.12 |
[TIL][Java][2023-12-08] 객체 지향 프로그래밍 (0) | 2023.12.08 |
[TIL][Java][2023-12-07] 컬렉션 - Map (1) | 2023.12.07 |