
배열은 .length, 문자열은 .length()
"둘 다 길이 구하는 거 아냐?" → 맞아. 근데 "완전히 다르게 동작"해.
.length는 변수(필드)로 저장되어 바로 읽을 수 있다.📌 코드 예시
int[] arr = new int[5];
System.out.println(arr.length); // 출력: 5
// System.out.println(arr.length()); // ❌ 에러 발생
📌 코드 예시
String str = "Hello World";
System.out.println(str.length()); // 출력: 11
// System.out.println(str.length); // ❌ 에러 발생
| 구분 | Array | String |
|---|---|---|
| 길이 구하는 방법 | .length | .length() |
| 구조 | 필드(변수) → 값 저장 | 메서드(함수) → 계산 필요 |
| 특징 | Primitive Type | Reference Type |
| 예시 | arr.length → 5 | str.length() → 5 |
Array와 String의 길이 구하는 방법이 다르다는 걸 명확히 기억하자!
배열은
arr.length→ 필드 접근
문자열은str.length()→ 메서드 호출
아래 코드의 결과는 무엇일까요? 🤔
int[] arr = {1, 2, 3, 4};
String str = "abcd";
System.out.println(arr.length); // ?
System.out.println(str.length); // ?
System.out.println(str.length()); // ?
📝 정답
✅ arr.length → 4 (배열의 길이)
❌ str.length → 컴파일 에러! (String은 메서드로 접근해야 함)
✅ str.length() → 4 ("abcd"의 문자 개수)