티스토리 뷰

JAVA

객체 배열

tsgoing 2021. 1. 14. 10:05

객체 배열 == 참조변수 배열

 

Computer com1, com2, com3;

Computer[] comArr = new Computer[3]; // 길이가 3인 Computer타입의 참조변수 배열

 

 

컴퓨터 타입 참조변수 x 3

 

ComputerArr  ComputerArr[0]  ComputerArr[1] ComputerArr[2]
0x100 null null null  
  0x100    

 

 

// 객체를 생성해서 배열의 각 요소에 저장
computerArr[0] = new Computer();
computerArr[1] = new Computer();
computerArr[2] = new Computer();

 

해당 코드가 실행이 되면 객체가 새로 생성이 되고 배열의 요소에 각 객체의 주소들이 저장이 된다.

 

ComputerArr  ComputerArr[0]  ComputerArr[1] ComputerArr[2]
0x100 0x200 0x300
0x400

 

위의 코드와 같은 기능을 하는 코드를 다음과 같이 작성할 수 있다.

 

Computer[] computeArr = {new Computer(), new Computer(), new Computer() };

 

Computer com1 = new Computer();
Computer com2 = new Computer();
Computer com3 = new Computer();

 

그림을 그려보면 다음과 같다.

 

 

 객체 배열에서 주의해야 할 것은 단순히 객체 배열을 선언만 해놓고 객체를 사용하려고 할 때 발생한다.

 위의 첫번째 라인의 코드는 단순히 객체 배열을 만든 것에 불과하기 때문이다.

 따라서 참조변수 배열의 각 요소에 객체를 생성해서 할당을 시켜줘야하는 점을 잊지 말자~! 

 

Computer[] computerArr = new Computer[3]; // 단순히 객체 변수 배열을 만듬
computerArr[0] = new Computer(); // 각각의 객체를 생성 -> 객체 사용 가능
computerArr[1] = new Computer(); // 각각의 객체를 생성 -> 객체 사용 가능
computerArr[2] = new Computer(); // 각각의 객체를 생성 -> 객체 사용 가능

 

 

'JAVA' 카테고리의 다른 글

출력 스트림 객체와 API  (0) 2021.02.28
배열  (0) 2021.02.14
클래스의 정의  (0) 2021.01.14
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함