본문 바로가기
Programming Language/Java

[Java] 자바에서 length와 length()의 차이점

by Echo12 2023. 7. 30.

자바에서 자주 사용되지만, 차이점이 명확하게 이해되지 않는 length와 length()에 대한 내용입니다.

이 두 개는 모두 어떤 객체의 길이를 구하는 데 사용되지만, 사용되는 대상이 다릅니다.

 

배열의 length

자바에서 배열의 길이를 얻기 위해 length 속성을 사용합니다.

length는 배열의 속성으로 배열이 생성될 때 자동으로 할당되며, 배열의 크기(즉, 배열에 포함된 요소의 수)를 반환합니다.

이 속성은 final이므로, 한번 생성된 배열의 길이는 변경할 수 없습니다.

int[] arr = {1, 2, 3, 4, 5};
System.out.println(arr.length);  // 출력: 5

위의 코드에서, arr.length는 배열 arr의 길이, 즉 배열에 포함된 요소의 수를 반환합니다.

 

문자열의 length()

반면에, length()는 String 클래스의 메서드입니다. 이 메서드는 문자열의 길이(즉, 문자열에 포함된 문자의 수)를 반환합니다.

String str = "Hello, World!";
System.out.println(str.length());  // 출력: 13

위의 코드에서, str.length()는 문자열 str의 길이, 즉 문자열에 포함된 문자의 수를 반환합니다.

 

요약하자면,

length와 length() 둘 다 길이를 반환하지만, 사용되는 대상이 다릅니다.

length는 배열의 길이를, length()는 문자열의 길이를 반환합니다.

이 두 가지를 혼동하지 않도록 주의해야 합니다.