클래스 배열이란 무엇입니까?
객체 지향 컴퓨터 프로그래밍에서 클래스 배열은 두 가지 유형의 데이터 구조 중 하나를 참조 할 수 있습니다. 일부 프로그래머는이 용어를 사용하여 주어진 클래스의 객체 인스턴스 인 요소로 구성된 표준 배열 데이터 유형을 설명합니다. 또한 배열 관리에 사용할 수있는 다양한 메소드를 만들기 위해 스칼라 배열 대신 사용되는 래퍼 오브젝트라고도하는 클래스 배열의 캡슐화 된 오브젝트 일 수도 있습니다. 더 복잡한 기능이있을 수 있지만 래퍼 배열 클래스는 정수 나 문자와 같은 다른 스칼라 데이터 형식에 대한 래퍼 객체와 개념 상 실제로 다르지 않습니다. 두 경우 모두, 구조는 클래스를 지원하는 객체 지향 프로그래밍 언어의 컨텍스트 내에서만 사용할 수 있습니다.
클래스 배열의 첫 번째 정의는 단일 특정 클래스에서 인스턴스화 된 객체를 보유하도록 선언 된 표준 배열 데이터 유형으로 식별합니다. 이것은 일련의 객체를 보유 할 때, 특히 최대 개수의 객체가 알려져 배열이 과도한 양의 요소로 선언되지 않은 경우에 일반적으로 수행됩니다. 객체 지향 프로그래밍의 다형성 메커니즘은 클래스 배열의 사용이 매우 역동적 일 수 있음을 의미합니다. 일반 수퍼 클래스를 보유 할 수 있기 때문에 다양한 서브 클래스가 다양한 구현에도 불구하고 요소로 유지 될 수 있기 때문입니다. 그러나 클래스 배열을 사용할 때 한 가지 복잡한 점은 요소 수를 알 수없고 정의 된 크기의 배열보다 커지거나 메모리 공간이 낭비되어 매우 작은 배열 일 때 발생할 수 있습니다. 해결책은 크기를 조정할 수없는 스칼라 배열 대신 벡터 또는 배열 목록과 같은 컬렉션 유형 객체를 사용하는 것입니다.
클래스 배열의 두 번째 정의는 스칼라 배열을 포함하는 개체이지만 배열을 조작하고 변경하는 여러 가지 방법을 제공합니다. 일부 언어는 클래스 배열 래퍼 내에서 매우 효율적인 정렬 및 검색 알고리즘을 구현합니다. 클래스로 구현 된 배열을 사용할 때의 또 다른 장점은 특히 기본 배열 클래스가 일반 객체 클래스의 하위 클래스 인 경우 다른 함수와 메소드로 클래스를 쉽게 전달하고 변경할 수 있다는 것입니다. 클래스 배열은 종종 배열 목록 또는 해시 테이블과 같은 프로그래밍 라이브러리의 다른 유형의 배열 기반 클래스의 기초입니다. 또한 일부 언어에서는 배열 클래스를 확장 할 수 있으므로 사용자는 클래스의 핵심 기능을 유지하면서보다 특수한 구현으로 기본 메소드 중 일부를 재정의 할 수 있습니다.