티스토리 뷰


* 본 포스팅은 인피니티 북스의 Power JAVA 2판을 참고하여 작성되었습니다.

* 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다.



배열(Array)

배열 : 자료형 쓰고 괄호 쓰고 변수명. 배열도 하나의 클래스다.

int[] number = new int[6];


배열을 매개변수로 넘길 때 그냥 배열의 이름만 넘어주면 된다. (포인터 개념)

int[] number = new int[10];
Box(number);


객체를 배열로 선언할 수 도 있다.

Box[] box = new Box[10];


C언어 에서는 변수 선언시 반드시 B.O(처리) 과정이 일어나기 전에 선언해야 하므로 배열을 선언할 때 동적 크기로 선언 할 수 없었다. (굳이 하려면 동적 할당) 하지만 자바에서는 다음과 같이도 사용할 수 있다.

Scanner scan = new Scanner(System.in);
num = scan.nextInt();
Box[] box = new Box[num];


배열의 크기를 구하려면 내장 객체인 length를 사용할 수 있다.

println("number length : " + number.length());


만약 객체를 배열로 사용하려 한다면 배열 객체를 생성한 뒤 각각의 배열에 객체를 할당해줘야 한다. 여기서 배열 객체는 C/C++의 포인터고 배열에 객체를 할당해주는 것은 동적할당의 느낌이라 생각하면 편하다.

Object[] obj = new Object[SIZE];
for(int i=0; i<obj.length; i++) {
    obj[i] = new Object();
}


저작자 표시 비영리 변경 금지
신고
프로필사진

Yowu (Yu Yongwoo)

My MBTI type is ENTP. (Of course I do not believe it 100%, but I want to do that) I use Node.js to develop the backend. I use Ubuntu Linux as my development environment, and I love Vim. I am interested in open source and are keen to contribute. I have a bachelor's degree in computer science from Catholic University and now a software engineer at Plating Inc., I spent about 5 years developing and learning, and I am still interested in software development and culture. Recently, I am interested in React, Serverless structure, Domain Design Driven. Sometimes I play drums in the band.