Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 length와 length()의 차이점 완벽 정리

Java에서 length배열(array)의 인스턴스 변수이고, length()String 클래스의 메서드(method)라는 점에서 서로 다릅니다. 두 기능 모두 '길이'를 구한다는 공통점이 있지만, 적용 대상과 동작 방식이 다르기 때문에 정확한 이해가 필요합니다.

length — 배열의 길이를 구하는 변수

  • 배열은 동일한 타입의 값을 고정된 개수만큼 저장하는 객체(object)입니다.
  • 배열의 length 변수는 배열에 저장된 요소(element)의 개수, 즉 배열의 길이를 반환합니다.
  • 배열은 한 번 초기화되면 크기를 변경할 수 없기 때문에, length 변수를 통해 직접 배열의 길이를 얻을 수 있습니다.
  • length 변수는 오직 배열에만 사용할 수 있습니다.

예제 코드

public class ArrayLengthTest {
    public static void main(String args[]) {
        int array[] = {1, 2, 3, 4, 5, 6, 7};
        System.out.println("Length of an array is: " + array.length);
    }
}

실행 결과

Length of an array is: 7

length() — 문자열의 길이를 구하는 메서드

  • length()String 클래스의 메서드로, 문자열 객체에 대해 호출하여 사용합니다.
  • length() 메서드는 문자열 객체에 저장된 문자(character)의 개수를 반환합니다.
  • 문자열은 다양한 연산을 통해 내용이 바뀔 수 있으므로, String 클래스는 고정된 변수 대신 메서드 형태로 길이를 제공합니다.
  • 내부적으로 String 클래스는 외부에 노출하지 않는 char[] 배열을 사용하며, length()는 이 내부 배열의 크기를 기반으로 동작합니다.

예제 코드

public class StringLengthMethodTest {
    public static void main(String args[]) {
        String str = "Welcome to Tutorials Point";
        System.out.println("Length of String using length() method is: " + str.length());
    }
}

실행 결과

Length of String using length() method is: 26

length와 length() 비교 정리

구분lengthlength()
적용 대상배열(Array)문자열(String)
형태인스턴스 변수메서드
반환 값배열에 저장된 요소의 개수문자열에 포함된 문자의 개수
특징배열 생성 후 크기 고정문자열 연산에 따라 결과가 달라질 수 있음

정리하면, 배열의 길이는 length 변수로, 문자열의 길이는 length() 메서드로 확인합니다. 배열은 생성 시 크기가 고정되므로 필드 접근만으로 충분하고, 반면 문자열은 내부의 char[] 배열을 외부에 노출하지 않은 채 메서드를 통해 길이를 제공하기 때문입니다. 이 차이를 이해하면 Java 코딩 시 혼동 없이 올바르게 길이를 다룰 수 있습니다.