배열에서 사용하는 length는 무엇인기 궁금합니다.
112
작성한 질문수 24
안녕하세요, 배열에서 당연하게 쓰고 있다가 문득 궁금증이 생겨서 질문을 드립니다. 배열을 생성하고 해당 배열의 길이를 알고 싶을 때, 자주 쓰던 length가 어디서 나온 것인기 궁금합니다.
String 객체 같은 경우
String a = "example";
int length = a.length();다음과 같이 length() --> 메서드임을 알 수가 있는데
배열에서 사용하는 length 같은 경우는
int[] a = new int[5];
int length = a.length;다음과 같이 소괄호() 없이 사용을 하게 되는데, 이게 뭔지 궁금해서 IDE 에서 command 클릭을 해도 해당 메서드의 출처를 알 수 가 없어 질문을 드립니다.
배열에서 사용하는 length 같은 경우 자바 자체적으로 있는 static 메서드 같은 존재인가요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 노동준님, 배열의 길이를 알기 위해 사용하는 length에 대해 궁금증을 갖게 된 점은 아주 좋은 접근입니다.
Java에서 배열의 length는 메서드가 아닌 속성입니다. 이는 Java 언어 자체에서 지원하는 배열의 기본 속성으로, 배열이 생성될 때 자동으로 할당됩니다. 그래서 length는 메서드 호출 형식이 아닌 속성으로 접근하게 됩니다.
배열의 길이는 객체의 일종인 배열에 내장성으로 존재하며, 배열의 크기를 나타내는 정수값으로 접근할 수 있는 필드입니다. 이 length 필드는 생성 시점에 JVM 내부적으로 설정되며, 이는 배열의 사이즈를 직접적으로 알려줍니다. 이와 달리, String의 length()는 문자열의 길이를 반환하는 메서드로 구현된 것입니다.
Java에서는 배열을 일단 생성하고 나면 고정된 크기를 갖기 때문에, length 필드를 통해 크기(길이)를 쉽게 확인할 수 있습니다. length는 배열이 생성되는 시점에 저장되어 비교적 빠른 시간 내에 접근할 수 있으므로, 배열의 속성과 특성을 파악하는 데 유용합니다.
이와 관련한 더 자세한 정보를 원하신다면, 다음의 유사한 질문과 답변 링크들을 참고하시길 권장합니다:
- Array 길이의 이해하기 - 배열의 길이와 자바의 복사 방법에 대해 설명합니다.
- 배열의 length 사용법 - 배열과 길이 속성의 차이에 대한 내용이 포함되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
문제와 풀이4 문제점
0
42
2
문제풀이 시간마다 방향성
0
39
2
피라미드 문제 풀이
0
71
1
ScannerWhile3 예제 코드 질문
0
55
1
짝수 출력 문제 질문
0
50
1
Array 연습 문제 5번 질문입니다.
0
84
2
단축어가 이상하게 나옵니다
0
128
2
Sql강의
0
90
1
array 문제풀이 2번 질문입니다.
0
55
1
JAVA입문 / 메서드편 문제와 풀이2
0
47
1
인텔리제이 무료버젼이 통합되었다는데 30일 무료버전이면 어떻게 사용하나요
1
801
3
OperationEx3에서 꼭 boolean을 써야 하나요?
0
59
1
for, while문 작성
0
65
1
68강 ArrayEx6 클래스 질문
0
60
1
IO.println(String.format("Hello and welcome!"));
0
149
2
소스코드 실행이 안돼요
0
119
2
메서드 문제와 풀이2에서 마지막 문제 이렇게 풀어도 괜찮은 건가요..?
0
79
1
While과 for 스코프 질문
0
63
1
김영한 java 입문 설치 질문
0
137
2
버퍼문제?
0
54
1
for문 피라미드 찍는거 질문
0
78
1
21버전이 없고, 강의 메뉴얼 확인해보면 된다는 김영한 선생님 답변 확인했습니다.
0
375
1
3번 문제 질문 있습니다.
0
99
2
sout에는 변수가 하나만 들어가야 하나요?
0
134
1





