배열의 length 속성은 어디에 정의되있는거죠?
조회수 6312회
ArrayList<Integer> arr = new ArrayList(10);
int size = arr.size();
이런 식으로 ArrayList의 길이를 얻을 때는 size() 메소드를 쓰잖아요
그리고
String[] str = new String[10];
int size = str.length;
Array 객체의 length를 얻을때 이런 식으로 하는데
ArrayList의 size()클래스는 ArrayList클래스에 정의돼있는 거잖아요 그러면 Array의 length속성은 어디에 정의돼있는 거죠? JVM이 구현하는 건가요 아니면 java API클래스에 정의돼있나요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
Array는 자바의 객체인데요. length는 단순한 final변수입니다. Array의 클래스가 정의된 class파일을 보면
length는 public final필드로 배열의 길이를 포함합니다. 그 값은 0이나 양수가 올수있습니다.
이런식으로 정의돼있습니다.
http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html#jls-10.7 자세한건 여기를 참고하세요.
댓글 입력