
기본 자료형과 class의 구별-length와 length()의 차이개발/java2024. 4. 9. 13:56
Table of Contents
java 코드를 쓸 때 아무 생각 없이 length 와 length()로 사용해 이 둘을 헷갈려했었는데 이 둘의 차이를 구분하며 class의 개념도 좀 더 명확히 하고자 한다.
배열의 길이: .length
- 배열은 Java 언어의 기본 자료형
- 배열의 길이는 필드로 저장된다. 즉, 배열 객체의 속성으로 직접 저장되며, 이는 length라는 이름의 public final 필드로 접근할 수 있게 해주는 것!
- 배열의 길이를 얻기 위해 .length를 통해 호출함
int[] numbers = {1, 2, 3, 4, 5};
int length = numbers.length; // 배열의 길이를 얻습니다.
문자열, 컬렉션의 길이: .length() 또는 .size()
- 문자열(String)은 클래스.
- 클래스의 속성이나 메서드에 접근하기 위해서는 메서드를 호출해야 합니다. 문자열의 길이를 확인하는 메서드는 length()다.
- 메서드는 괄호 ()를 사용하여 호출됩니다. 이는 메서드가 클래스의 인스턴스 메서드임을 나타낸다.
String text = "Hello, world!";
int length = text.length(); // 문자열의 길이를 얻습니다.
컬렉션(Collection) 타입 (예: ArrayList, HashSet 등)
대부분의 컬렉션은 길이를 반환하는 메서드로 size()를 사용한다
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
int size = list.size(); // 리스트의 크기를 얻습니다.
결론
- 배열의 길이는 length 필드를 통해 직접 접근하는데 이는 배열이 java의 기본 자료형이기 때문에 메소드가 아닌 필드로 길이값이 저장되어 있기 때문이다.
- 문자열과 컬렉션의 길이는 메서드(length() 또는 size())를 호출하여 얻는다. (이들은 클래스이므로, 인스턴스 메서드를 통해 접근해야한다.)
'개발 > java' 카테고리의 다른 글
Java의 객체 참조 개념 (0) | 2024.07.02 |
---|---|
향상된 for문(for each 문) (0) | 2024.07.01 |
Java - String class (0) | 2024.05.27 |
Java - Array와 ArrayList (0) | 2024.05.27 |
Java class 정리 - StringTokenizer (0) | 2024.04.01 |

@바이솔 :: Byesol의 기록