배열의 length 속성은 어디에 정의되있는거죠?


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클래스에 정의돼있나요?

  • 2016년 06월 01일에 수정됨
    시원한 날만 일하자
  • 2016년 01월 26일에 작성됨

조회수 335


1 답변


좋아요
0
싫어요
채택취소하기

Array는 자바의 객체인데요. length는 단순한 final변수입니다. Array의 클래스가 정의된 class파일을 보면

length는 public final필드로 배열의 길이를 포함합니다. 그 값은 0이나 양수가 올수있습니다.

이런식으로 정의돼있습니다.

http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html#jls-10.7 자세한건 여기를 참고하세요.

  • 2016년 01월 26일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close