본문 바로가기
728x90
반응형

instance Variables(인스턴스 변수):

  •  클래스에 정의된 변수로, 객체(인스턴스)가 생성될 때마다 고유한 메모리 공간을 할당받는다. 이러한 변수들은 해당 클래스의 모든 인스턴스에서 공유되지 않으며, 각 객체마다 서로 다른 값을 가질 수 있다. 
    예를 들어, 'Person' 클래스의 'name'과 'age' 필드가 인스턴스 변수다.

Class Variables(클래스 변수): 

  • 클래스에 정의된 변수로, 클래스가 로드될 때 메모리를 할당받는다. 클래스 변수는 해당 클래스의 모든 인스턴스에서 공유된다. 이러한 변수들은 객체 간에 데이터를 공유하거나, 클래스 수준에서 상태를 유지하는 데 사용된다. 
    예를 들어, 'Person' 클래스의 'totalCount' 상수가 클래스 변수다.

Local Variables(로컬 변수): 

  • 특정 메서드 또는 블록 내에서만 사용할 수 있는 변수로, 해당 메서드 또는 블록이 실행될 때 생성되고 실행이 완료되면 사라진다. 이러한 변수들은 일시적인 데이터를 저장하거나 메서드 내에서 임시로 처리할 때 사용된다.

Parameters(매개변수):

  •  메서드의 정의에 포함되어 메서드가 호출될 때 전달된 값을 저장하는 변수다. 매개변수는 메서드의 입력 값으로 사용되며, 메서드 내에서 처리할 작업에 사용된다.
public class Person {
    String name; // 인스턴스 변수
    int age; // 인스턴스 변수

    public static int totalCount; // 클래스 변수

    public void printPersonInfo(String message) {
        String tempInfo; // 로컬 변수
        System.out.println(message + " " + name + "이고, " + age + "살입니다.");
    }

    public static void main(String[] args) {
        Person person1 = new Person();
        person1.name = "Alice";
        person1.age = 30;

        Person person2 = new Person();
        person2.name = "Bob";
        person2.age = 25;

        totalCount = 2; // 클래스 변수
    }
}
728x90
반응형