Lune Bleue 2019. 12. 16. 23:54

1. 객체 배열이란

객체를 저장하는 배열. 배열의 자료형을 클래스명(사용자 정의 자료형) 으로 지정하여 사용

 

2.선언

reference클래스[] 배열명

reference클래스 배열명[]

 

할당.

배열명= new 객체클래스[배열크기];

 

선언과 동시에 할당

reference클래스[] 배열명 = new 객체클래스[배열크기];

 

ex) 직원의 정보(String name, int eNum, String phone)를 갖는 Employee클래스를 객체로 하는 배열을 생성할 경우

 

Employee emp = new Employee[2];

 

Stack   Heap
emp(0x123)   0x123    
->

emp[0]

(0x678)

-> 0x678
  emp[0]의 객체 값
->

emp[1]

(0x543)

-> 0x543
  emp[1]의 객체 값

emp[index] 가 하나의 참조형 변수와 비슷하다.

---> 2차원 배열이 가진 형태와 유사하다.

 

3. 초기화 방법

인덱스를 이용한 초기화

배열명[인덱스] = new 클래스명([값,값,값.....]);

 

ex) emp[0] = new Employee("김철수", 201, "01012345678");

     emp[1] = new Employee("김영희" , 100, "01022224547");

 

 선언과 동시에 할당및 초기화

reference클래스명[] 배열명 = {new 클래스명(값,값,값...), new 클래스명(값,값,값....)};

 

ex) Employee[] emp = {new Employee("김철수", 201, "01012345678"),

                                new Employee("김영희 , 100, "01022224547")};

 

4. getter/setter 를 이용한 값을 불러오기/저장하기.

 배열명[인덱스].get변수명() -> 값을 호출

 배열명[인덱스].set변수명(값); -> 값을 저장

 

 ex)

System.out.print(emp[0].getName()); -> 김철수

emp[0].setName() = 김진수;

System.out.print(emp[0].getName()); -> 김진수