4588
2015-05-16 14:59:06
1
자바 한지 오래된 덕분에 기억이 가물가물한 상태에서 답변드립니다.
경우에 따라서는 틀릴 수도 있음에 주의해주세요.
배열이 선언되고
String arrayString[];
생성되어 할당되면
arrayString = new String[10];
arrayString 의 배열 크기는 새로 생성해서 할당하지 않는 한 10개로 고정돼죠?
이렇게 상수 성격을 갖는 녀석은 멤버변수 length에 그 값을 저장하는 것이 당연하죠.
그런데 말예요
arrayString과 arrayString[i] 둘은 완전 달라요.
arrayString은 배열을 뜻하지만 arrayString[i]는 배열 안에 들어있는 String 객체에요.
String 객체는 자신이 어느정도 길이의 문자열을 담고 있는지 글자수를 세어보지 않는 한 알지 못하므로,
길이를 알고 싶으면 반드시 능동적으로 글자수를 세어보라는 명령인 length()를 내려야 한답니다.
즉 arrayString[0].length() 가 되는 것이죠.