자바

자바 배열에서 [] 와 ... 의 차이?!

알통몬_ 2018. 4. 3. 11:36
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


자바에서 배열을 선언할 때 [] 또는 ... 으로 선언할 수 있는데요.


배열을 선언한다는 점에서는 같지만, 약간의 차이는 있습니다.


[] 우리가 정석적으로 알고 있는 배열 선언이죠.


String[] names;

int[] grades;


그럼 이제 차이를 알아보겠습니다.


먼저 []은 필드나 로컬 변수에 선언이 가능하지만

...은 필드나 로컬 변수에 선언할 수 없습니다.

즉 ... 은 생성자나 함수등의 파라미터로만 선언이 가능합니다. 아래처럼.


그리고 위처럼 생성자에 ...으로 선언된 배열이 있다면, 생성자를 생성할 때

굳이 배열을 넣지않고, 해당 타입의 변수들은 차례로 넣으면 알아서 배열로 인식을 합니다.


--------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------




하지만 [] 으로 선언된 경우에는 꼭 생성자 생성 시 배열을 넣어줘야 합니다.

아래는 그렇지 않았을 때 에러나는 걸 캡처해서 올렸습니다.

그리고 마지막으로 []은 생성자나 함수 등의 파라미터로 

아무 자리에나 들어갈 수 있지만,

... 은 꼭 한 생성자 또는 함수에 한 번만 사용할 수 있고, 

가장 마지막에 들어가야 합니다.

만약 아래처럼 ... 배열을 파라미터로 2개 쓰거나

... 배열 파라미터가 마지막이 아닌 중간이나 처음에 선언되면, 빨간 줄이 나는 걸 볼 수 있습니다.


반응형