객체 배열
반응형
객체 배열
객체 배열 == 참조변수 배열
예를 들어서 Tv타입의 참조변수 tv1, tv2 tv3가 있을 때,
이것을 배열로 바꾸면 오른쪽과 같이 Tv[] tvArr = newTv[3];이 된다.
Tv[] tvArr = new Tv[3]; // 길이가 3인 Tv타입의 참조변수 배열
참조변수 3개를 붙여놓은 것이다.
참조변수의 기본값은 null이므로 null로 자동초기화가 된 상태이다.
//객체를 생성해서 배열의 각 요소에 저장
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
객체의 배열은, 객체를 담기위한 것이므로,
위의 코드와 같이 객체를 생성해서 각 참조변수에 저장하면 된다.
객체 배열을 만들고, 객체 생성을 해주어야 한다.
객체 배열을 만들었다고 해서 객체가 생성되는 것은 아니다.
객체 배열은 단지 객체의 주소를 저장 할 참조변수를 생성한 것 뿐이다.
위에 있는 코드 세문장은 배열이기 때문에, 일반 배열에 값을 초기화 하듯이, {}를 이용해서 아래와 같이 간단하게 작성할 수 있다.
Tv[] tvArr = {new Tv(), new Tv(), new Tv()};
이번에는 그림을 통해 살펴보자.
Tv t1 = new Tv();
Tv t2 = new Tv();
Tv t3 = new Tv();
이런 문장들이 있을 때, 이 문장들을 그림으로 그리면 아래와 같이 그릴 수 있다.
각 문장이 실행 될 때마다 Tv객체가 생성되고 생성된 객체의 주소값이 각 참조변수에 저장된다.
이번에는객체 배열을 생성하고, 객체를 생성해서 저장하면 어떻게 그림이 그려질까?
Tv[] tvArr = new Tv[3];
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
위의 그림과 비교해보면, 객체 배열 == 참조변수 배열 이라는 것을 알 수 있다.
앞서 말했듯 객체 배열을 만들고, 객체 생성을 해주어야 한다.
객체 배열을 만들었다고 해서 객체가 생성되는 것은 아니다.
객체 배열은 단지 객체의 주소를 저장 할 참조변수를 생성한 것 뿐이다.
이것을 유의하자.
반응형
'JAVA' 카테고리의 다른 글
선언위치 변수 종류 (0) | 2022.03.25 |
---|---|
클래스의 정의 (0) | 2022.03.24 |
객체의 생성과 사용 (0) | 2022.03.24 |
하나의 파일에 여러 클래스 작성하기 (0) | 2022.03.24 |
클래스와 객체 (0) | 2022.03.24 |
댓글
이 글 공유하기
다른 글
-
선언위치 변수 종류
선언위치 변수 종류
2022.03.25 -
클래스의 정의
클래스의 정의
2022.03.24 -
객체의 생성과 사용
객체의 생성과 사용
2022.03.24 -
하나의 파일에 여러 클래스 작성하기
하나의 파일에 여러 클래스 작성하기
2022.03.24