본문 바로가기

Application-level프로그래밍

(JAVA) 배열을 할당할 때.

MenuItem[] menuItems = new MenuItem[5];
//C에서와 달리 JAVA에서는 일반객체를 레퍼런스로 관리하기 때문에
//menuItems 에는 5개의 레퍼런스(주소)를 저장할 공간만 가진다.
//C에서라면 기본생성자로 MenuItem 객체 5개가 연속으로 생성될 것이다. 
//따라서 0~4의 인덱스를 쓸 수 있을 뿐, 5 개의 객체가 생성되어있는 게 아니다.
menuItems[2].methodA(); // 틀렸음! 
menuItems[0]= new MenuItem( . . .); //O, 따라서 직접 객체를 따로 할당해야 한다.