JAVA/포스팅

자바 참조변수와 인스턴스의 연결

짜집퍼박사(짜박) 2023. 11. 12. 20:54

자바에서 참조 변수(reference variable)와 인스턴스(instance) 사이의 연결은 객체 지향 프로그래밍의 기본 원리 중 하나입니다.

 

1. 참조 변수 (Reference Variable)

자바에서 객체를 사용하려면 해당 객체에 대한 참조 변수가 필요합니다. 참조 변수는 객체의 메모리 주소를 저장하고 해당 주소를 통해 객체에 접근합니다. 예를 들어,

class Car {
    String model;
    int year;
}

public class Main {
    public static void main(String[] args) {
        // Car 클래스의 객체 생성
        Car myCar = new Car();

        // myCar 변수가 해당 객체를 참조
        myCar.model = "Toyota";
        myCar.year = 2022;

        // 참조 변수를 통해 객체에 접근
        System.out.println("Model: " + myCar.model);
        System.out.println("Year: " + myCar.year);
    }
}

위의 예제에서 myCar는 Car 클래스의 객체를 참조하는 변수입니다.

 

2. 인스턴스 (Instance)

인스턴스는 클래스를 기반으로 생성된 객체를 의미합니다. 클래스는 설계도일 뿐, 실제 데이터를 담고 있는 것은 인스턴스입니다. 위의 예제에서 myCar가 Car 클래스의 인스턴스입니다.

Car myCar = new Car();

이 코드에서 new Car()는 Car 클래스의 새로운 인스턴스를 생성하고, myCar는 이 인스턴스를 참조하는 변수입니다.

참조 변수와 인스턴스 간의 연결은 다음과 같은 중요한 특징들을 가집니다.

 

- 참조 변수의 생성

클래스의 객체를 사용하기 위해서는 먼저 해당 클래스의 참조 변수를 선언하고, new 키워드를 사용하여 객체를 생성해야 합니다.

 

- 메모리 할당

객체가 생성될 때 메모리에 할당되고, 참조 변수는 해당 메모리 주소를 가리키게 됩니다.

 

- 참조 변수의 유효 범위

참조 변수의 유효 범위는 변수가 선언된 블록 내부로 제한됩니다. 메소드나 클래스 전체에서 참조 가능한 경우에는 인스턴스 변수로 선언됩니다.

 

- null 값

참조 변수는 객체를 참조하지 않을 때 null 값을 가질 수 있습니다. 이는 참조 변수가 어떤 객체도 가리키지 않음을 나타냅니다.

Car myCar = null; // 초기화되지 않은 상태로 null 값 가짐

 

- Garbage Collection

객체가 더 이상 참조되지 않으면 Garbage Collector에 의해 자동으로 제거됩니다.

 

이렇게 참조 변수와 인스턴스가 함께 작동하여 객체 지향 프로그래밍에서 유연하고 모듈화된 코드를 작성할 수 있습니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 추상클래스  (0) 2023.11.12
자바 매개변수의 다형성  (0) 2023.11.12
자바 업캐스팅(Upcasting)  (0) 2023.11.12
자바 다운캐스팅(Downcasting)  (0) 2023.11.12
자바 참조변수의 형변환  (0) 2023.11.12