[Java] new

전우석·2024년 3월 19일

Java

목록 보기
11/24

new

클래스로부터 새로운 객체를 생성하고, 해당 객체를 메모리에 할당(인스턴스화)하는 데 사용되는 키워드

사용 예시

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car();  // Car 클래스의 객체를 생성하여 메모리에 할당한다.
    }
}

public class Car {
    public int year;
    public String model;
}

new 연산자의 작동 방식

1. 메모리 할당

  • new 연산자는 런타임, 즉 프로그램이 실행되는 도중에 힙(Heap) 메모리 영역에 객체를 위한 공간을 할당한다.
  • 힙은 동적 메모리 할당을 위해 사용되는 메모리 영역으로, 생성된 객체들이 저장된다.

2. 인스턴스 생성

  • 할당된 메모리 영역에 객체의 인스턴스 변수들이 배치된다.
  • 이때, 인스턴스 변수들은 클래스 정의에 따라 기본값으로 초기화될 수 있으며, 이후 생성자를 통해 사용자 정의 값으로 초기화될 수 있다.

3. 생성자 호출

  • new 연산자 다음에 오는 클래스의 생성자가 호출된다.
    • 생성자
      • 객체가 생성될 때 초기화 작업을 수행하는 특별한 메서드로, 객체의 초기 상태를 설정한다.
      • 생성자는 클래스 이름과 동일하며, 필요에 따라 입력 파라미터를 받아 객체의 상태를 초기화할 수 있다.

4. 객체 주소 반환

  • new 연산자를 통해 새롭게 생성된 객체의 주소를 반환한다.

정리

new 연산자는 객체를 메모리에 할당하고 초기화한 후, 해당 객체의 주소를 반환하는 역할을 한다. 이를 통해 클래스의 인스턴스가 생성되며, 각 인스턴스는 독립적인 상태를 가진다.

0개의 댓글