본문 바로가기
JAVA

[JAVA] - 객체 생성과 참조형 변수

by nam_ji 2024. 1. 12.

객체 생성과 참조형 변수

객체 생성

더보기
new Car(); // Car클래스 객체 생성
  • 객체 생성 연산자인 new를 사용하면 클래스로부터 객체를 생성할 수 있습니다.
  • new 연산자 뒤에는 해당 클래스의 생성자 호출 코드를 작성합니다.
  • 형태가 Car();즉, 기본 생성자의 형태와 같기 때문에 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
  • 객체는 참조형 변수와 동일하게 취급되기 때문에 배열 또는 컬렉션에도 저장하여 관리할 수 있습니다.

'JAVA' 카테고리의 다른 글

[JAVA] - 클래스란  (0) 2024.01.23
[JAVA] - 객체의 속성 : 필드  (0) 2024.01.12
[JAVA] - 클래스 설계  (0) 2024.01.12
[JAVA] - Enum 클래스란?  (1) 2024.01.11
[JAVA] - 싱글톤(Singleton) 패턴이란?  (0) 2024.01.11