자바 객체 변수는 객체를 참조하고 해당 객체에 접근하는 데 사용되는 변수를 가리킵니다. 객체 변수는 객체 지향 프로그래밍에서 중요한 역할을 합니다. 아래에서 자바 객체 변수에 대해 알아보겠습니다.
1. 객체 변수 선언
객체 변수를 선언할 때는 객체의 클래스 이름과 변수 이름을 지정해야 합니다. 객체 변수는 해당 클래스의 인스턴스를 참조하며, 선언만으로는 객체가 생성되지 않습니다.
ClassName objectVariable; // 객체 변수 선언
2. 객체 생성 및 할당
객체 변수를 사용하기 위해서는 객체를 생성하고, 그 객체를 변수에 할당해야 합니다. 이때 new 키워드를 사용하여 객체를 생성하고, 생성된 객체를 변수에 할당합니다.
objectVariable = new ClassName(); // 객체 생성 및 변수에 할당
3. 객체 변수의 사용
객체 변수를 통해 해당 객체의 속성과 메서드에 접근할 수 있습니다.
1) 속성에 접근
객체 변수를 사용하여 객체의 속성(멤버 변수)에 접근할 수 있습니다.
int value = objectVariable.fieldName; // 객체의 속성 값 읽기
objectVariable.fieldName = newValue; // 객체의 속성 값 변경
2) 메서드 호출
객체 변수를 사용하여 객체의 메서드를 호출할 수 있습니다.
objectVariable.methodName(); // 객체의 메서드 호출
4. 객체 변수의 값 비교
객체 변수는 객체의 참조를 저장하므로 두 객체 변수를 비교할 때는 참조(메모리 주소)를 비교합니다. == 연산자를 사용하여 두 객체 변수의 참조가 동일한지 확인할 수 있습니다.
if (objectVariable1 == objectVariable2) {
// 두 변수가 동일한 객체를 참조
}
5. null 값 처리
객체 변수는 null 값을 가질 수 있으며, 이는 아무 객체도 참조하지 않음을 나타냅니다. 객체 변수가 null인 경우 객체의 속성 또는 메서드에 접근하려고 하면 NullPointerException이 발생합니다.
objectVariable = null; // 객체 변수에 null 할당
6. 객체 변수의 범위
객체 변수는 선언된 블록 내에서만 사용 가능하며, 범위(scope)를 가집니다. 객체 변수를 선언된 블록을 벗어나면 해당 변수는 더 이상 사용할 수 없습니다.
{
ClassName objectVariable = new ClassName();
// 이 블록 내에서 objectVariable 사용 가능
}
// objectVariable는 이 블록을 벗어나면 사용 불가능
7. 여러 객체 변수와 공유 객체
여러 객체 변수는 같은 객체를 참조할 수 있으며, 이러한 경우 해당 객체를 공유합니다. 즉, 한 객체의 변경 사항은 다른 객체 변수를 통해서도 반영됩니다.
ClassName object1 = new ClassName();
ClassName object2 = object1; // object2도 object1과 동일한 객체를 참조
object1.field = 10;
int value = object2.field; // value는 10
8. 객체 변수와 상속
자식 클래스의 객체 변수는 부모 클래스의 객체를 참조할 수 있으며, 이는 다형성의 일부입니다. 자식 클래스의 객체 변수를 사용하여 부모 클래스의 메서드를 호출할 수 있습니다.
ParentClass object = new ChildClass(); // 다형성: 자식 클래스 객체를 부모 클래스 변수에 할당
object.parentMethod(); // 자식 클래스의 메서드 호출 가능
객체 변수를 사용하여 객체를 참조하고 조작함으로써 객체 지향 프로그래밍에서 클래스와 객체 간의 상호 작용을 구현합니다. 객체 변수를 사용하여 객체의 속성과 메서드에 접근하고 객체 간의 관계를 정의합니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 객체 인스턴스 변수 (Instance Variables) (0) | 2023.11.06 |
---|---|
자바 객체 변수 종류 (0) | 2023.11.06 |
자바 클래스의 또 다른 정의 (0) | 2023.11.06 |
자바 객체 배열 (0) | 2023.11.06 |
자바 인스턴스의 생성과 사용 (0) | 2023.11.06 |