● JAVA/○ JAVA.CS

Java 기본 개념 19 (변수)

한량_ 2025. 1. 2. 22:10

인스턴스 변수 :

클래스의 멤버 변수로, 클래스의 객체가 생성될 때마다 해당 객체에 소속된 변수

클래스 전체에서 사용가능

객체가 메모리에서 삭제될 때까지 유지

객체를 통해 직접 접근하거나, 클래스 내에서는 this를 통해 접근 가능

public class Person {
    private String name; // 인스턴스 변수
    private int age;     // 인스턴스 변수

    public Person(String name, int age) {
        this.name = name; // this.name은 인스턴스 변수
        this.age = age;
    }

    public void printInfo() {
        System.out.println("Name: " + name + ", Age: " + age); // 인스턴스 변수 사용
    }
}

 

지역 변수:

메서드나 블록 내부에 선언된 변수로, 해당 블록 내에서만 사용 가능

선언된 블록 내부

블록이 종료되면 소멸

반드시 명시적으로 초기화 해야 함

다른 메서드나 클래스 밖에서 접근할 수 없음

public void calculateSum() {
    int sum = 0; // 지역 변수
    for (int i = 1; i <= 10; i++) { // i도 지역 변수
        sum += i;
    }
    System.out.println("Sum: " + sum);
    // 여기서 i는 사용할 수 없음 (for 블록 종료 시 소멸)
}

 

 

매개변수:

메서드나 생성자 호출 시 전달되는 값을 받기 위해 사용하는 변수

메서드 또는 생성자 내부

메서드나 생성자가 실행되는 동안 유지

호출 시 전달된 값으로 자동 초기화

메서드 내부에서는 일반 지역 변수처럼 사용되며, 이름이 인스턴스 변수와 충돌할 경우 this 로 구분해야 함

public class Person {
    private String name;

    public void setName(String name) { // 매개변수
        this.name = name; // this.name은 인스턴스 변수, name은 매개변수
    }
}