728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120898

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제)머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.

 

정답)

class Solution {
    public int solution(String message) {
        int answer = 0;
        
        answer = message.length() * 2;
        
        return answer;
    }
}

객체의 길이를 얻고자 하기 때문에 length() 사용해준걸 잊지 말자.

 

feat. 자꾸 푸는데 오류가 나서 왜 그런가 보니까 아직 length()와 length의 차이점을 아직 정확하게 인지하고 있지 않아 오류가 발생했다. 

그래서 2가지의 차이점에 대해서 정리를 해보려고 한다.

 

length()와 length의 차이점

length() 메서드

length() 메서드는 문자열(String)이나 배열(Array) 등과 같은 객체의 길이를 반환하는 메서드이다.
예를 들어서 문자열의 경우 "String"클래스의 객체에서 length()를 호출하면 해당 문자열의 길이를 반환한다.
배열의 경우에도 "length" 필드 대신 "length()" 메서드를 사용하여 배열의 길이를 얻을 수 있다.

String str = "Hello, World!";
int strLength = str.length();
System.out.println("문자열 길이: " + strLength);

int[] arr = {1, 2, 3, 4, 5};
int arrLength = arr.length;
System.out.println("배열 길이: " + arrLength);

 

length 필드

length는 배열객체의 필드로, 배열의 길이를 나타내는 속성이다. 이 필드는 배열이 생성될 때 쿠기가 고정되기 때문에 변하지 않는다.
문자열이나 다른 객체에는 length 필드가 없다. 따라서 객체의 길이를 얻으려면 length() 메서드를 사용한다.

int[] arr = {1, 2, 3, 4, 5};
int arrLength = arr.length;
System.out.println("배열 길이: " + arrLength);

즉, "length()"는 메서드이며 주로 문자열이나 배열 같은 객체의 길이를 얻을 때 사용되고, "length'는 배열의 길이를 나타내는 필드로 주로 배열에서 사용된다.

 

int[] arr = new int[9];
int arrLength = arr.length; // 배열의 길이를 얻기 위해 length 필드를 사용

배열의 길이를 얻는 데에 "length()"메서드를 사용하는 것은 문자열(String) 이나 컬렉션(Collection)등과 같은 객체에 해당하며, 이러한 객체는 "length()"메서드를 통해 길이 또는 크기를 반환한다.

String str = "Hello, World!";
int strLength = str.length(); // 문자열의 길이를 얻기 위해 length() 메서드를 사용

 

 

결론적으로

배열의 길이를 얻을 때는 length를 사용하고,
객체의 길이를 얻을 때는 length() 메서드를 사용해야 한다!

 

728x90