안녕하세요 판타지코딩입니다!
오늘은 C++의 객체 배열을 생성하는 방법을 공부해 보도록 하겠습니다!
객체 배열이란?
객체는 클래스를 자료형으로 생성하는 변수와 같은 것입니다. 객체를 통해서 클래스에 정의한 멤버 변수와 멤버 함수를 호출하여 활용할 수 있습니다. 이 때 각 객체 별로 멤버 변수와 멤버 함수가 따로 관리되기 때문에 객체가 다르면 그에 속한 데이터도 달라지게 됩니다. 그런데 객체를 여러 개 만들기가 번거로울 때 배열 형태로 생성할 수 있습니다. 우선 배열 예제 코드를 보겠습니다.
배열 예제
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
cout << arr[0] << endl;
cout << arr[3] << endl;
cout << arr[7] << endl;
길이가 10인 정수형 배열 arr을 생성했습니다. arr은 배열이기 때문에 배열의 길이 내에서 여러 개의 데이터를 저장할 수 있습니다. 위의 경우에는 길이가 10이므로 10개 이내의 데이터를 저장할 수 있고, 1부터 9까지 9개의 데이터를 저장했습니다.
배열은 인덱스를 통해서 데이터를 호출할 수 있습니다. arr[0]은 배열 arr의 0번째 데이터를 의미합니다. 위에서는 1이 될 것입니다. 그리고 arr[3]은 3번째 데이터인 4가 됩니다. 인덱스를 계산할 때는 0부터 시작한다는 점을 유의하시면 됩니다.
실행 결과
1
4
8
각 배열의 인덱스에 부합하는 데이터가 출력되었습니다. 그럼 객체 배열은 객체를 배열의 형태로 생성한다는 것을 의미합니다. 객체를 생성해서 배열 형태로 구현하는 방법을 알아보겠습니다.
클래스 예제
class student{
public:
int num;
string major;
};
int main()
{
student s[10];
s[0].num = 1;
s[1].num = 2;
s[2].num = 3;
cout << s[0].num << endl;
cout << s[1].num << endl;
cout << s[2].num << endl;
return 0;
}
student 클래스를 생성해서 멤버 변수인 num에 데이터를 저장하는 코드를 작성했습니다. 메인 함수에서 student 클래스의 객체 s를 생성하는데, 이 때 길이를 10인 객체 배열로 생성했습니다.
객체 배열 생성 코드
student s[10];
클래스의 이름과 객체 이름을 작성한 뒤에 배열의 길이를 설정합니다. 이렇게 작성하면 객체 배열을 생성하는 코드가 됩니다.
객체 배열에서 멤버 변수 호출하기
s[0].num = 1;
s[1].num = 2;
s[2].num = 3;
배열의 인덱스를 통해서 멤버 변수를 호출하고, 데이터를 저장합니다. 0번째 객체에서 num을 호출해서 1을 저장하고, 1번째, 2번째 객체에서도 변수를 호출해서 데이터를 저장합니다. 각 객체의 변수는 다른 값을 저장하게 됩니다.
코드 실행 결과
1
2
3
각 객체 배열의 멤버 변수를 호출해서 값을 출력했기 때문에 순서대로 1, 2, 3이 출력됩니다.
그럼 오늘은 객체 배열의 개념을 공부하고 활용하는 방법을 알아보았습니다. 객체 배열의 특징과 활용 방법을 아셨다면 오늘은 100점 입니다!
감사합니다!
'C++' 카테고리의 다른 글
C++ char형 배열을 쓰는 이유 (0) | 2023.05.17 |
---|---|
C++ char형 공부하기! (0) | 2023.05.16 |
C++ 상속 공부하기 - 부모 클래스와 자식 클래스 (0) | 2023.05.09 |
C++ 객체 활용하기 (0) | 2023.05.08 |
C++ 객체 공부하기! (0) | 2023.05.03 |