자바에서 객체 변수는 객체를 참조하고 해당 객체에 접근하는 데 사용되는 변수입니다. 객체 변수는 다양한 종류가 있으며, 다음은 자바에서 사용되는 주요 객체 변수의 종류에 대한 설명입니다.
1. 인스턴스 변수 (Instance Variables)
- 인스턴스 변수는 객체(인스턴스)마다 별도로 존재하며, 해당 객체의 상태를 나타내는 속성을 저장합니다.
- 클래스 내부에 선언되지만 메서드 외부에 위치하며, 객체를 생성할 때 메모리에 할당됩니다.
- 인스턴스 변수는 객체의 상태를 유지하고 객체 간에 데이터 공유가 아니라 객체마다 고유한 값을 가집니다.
public class Car {
String model; // 인스턴스 변수
int maxSpeed; // 인스턴스 변수
}
2. 클래스 변수 (Class Variables 또는 Static Variables)
- 클래스 변수는 클래스 내의 모든 객체에 대해 동일한 값을 공유하며, 클래스 수준의 속성을 나타냅니다.
- static 키워드로 선언되며, 클래스가 로드될 때 메모리에 할당되어 객체를 생성하지 않아도 사용할 수 있습니다.
- 클래스 변수는 객체 간에 데이터를 공유하며 변경 사항은 모든 객체에 영향을 미칩니다.
public class Student {
static int studentCount; // 클래스 변수
String name; // 인스턴스 변수
}
3. 지역 변수 (Local Variables)
- 지역 변수는 메서드 내에서 선언되며 해당 메서드 내에서만 사용할 수 있는 변수입니다.
- 메서드가 실행될 때 생성되고 메서드 실행이 완료되면 소멸합니다.
- 지역 변수는 메서드 내의 임시 데이터를 저장하는 데 사용됩니다.
public void printInfo() {
int age = 25; // 지역 변수
System.out.println("나이: " + age);
}
4. 매개변수 (Parameters)
- 메서드의 매개변수는 해당 메서드에 전달된 인수를 저장하는 데 사용되는 변수입니다.
- 메서드 호출 시 전달된 값을 메서드 내에서 활용할 수 있습니다.
- 매개변수도 지역 변수의 일종이며 메서드 내에서만 유효합니다.
public void calculateSum(int num1, int num2) { // num1, num2는 매개변수
int sum = num1 + num2; // 지역 변수
}
5. 인스턴스 변수와 클래스 변수의 차이
- 인스턴스 변수는 객체마다 다른 값을 가지며, 객체의 상태를 나타냅니다.
- 클래스 변수는 모든 객체가 공유하는 값을 가지며, 클래스 수준의 데이터를 나타냅니다.
- 인스턴스 변수는 객체 생성 시 초기화되지만 클래스 변수는 클래스가 로드될 때 초기화됩니다.
각 객체 변수 유형은 다른 목적을 가지며 다른 범위와 생명주기를 갖습니다. 올바른 변수 유형을 선택하고 사용하여 프로그램의 데이터 관리를 효율적으로 수행할 수 있습니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 객체 클래스 변수 (Class Variables 또는 Static Variables) (0) | 2023.11.06 |
---|---|
자바 객체 인스턴스 변수 (Instance Variables) (0) | 2023.11.06 |
자바 객체 변수 (0) | 2023.11.06 |
자바 클래스의 또 다른 정의 (0) | 2023.11.06 |
자바 객체 배열 (0) | 2023.11.06 |