안녕하세요 판타지코딩입니다!
C++은 객체 지향 언어입니다. 그렇기 때문에 클래스를 기반으로 객체를 생성하고, 객체를 통해서 멤버 함수와 멤버 변수를 호출해서 코드를 작성하는데 활용할 수 있습니다. 그러므로 객체는 여러 개가 생성되어 비슷한 정보를 여러 번 담아야 할 수 있습니다.
예를 들어, 학교에 다니는 학생의 정보를 담는 객체 s를 생성한다면, s를 통해서 학과, 학번 등의 정보를 담을 수 있을 것입니다. 그런데 학생이 3명이라면 s1, s2, s3 처럼 객체를 생성할 수 있습니다. 하지만 학생이 30명이라면 s1~s30까지 정보를 생성하는것은 비효율 적일 수 있습니다. 이 때 활용할 수 있는 것이 바로 객체 배열입니다.
오늘은 객체 배열에 대해서 공부해 보겠습니다.
1. 객체 생성하기
객체 배열을 생성하는 방법을 공부하기에 앞서, 객체를 생성하고 멤버 함수와 멤버 변수를 호출하는 방법을 알아보겠습니다.
Student s;
Student 클래스가 있다고 가정하고, 객체 s를 생성했습니다. 객체 생성은 클래스 명과 객체 명을 작성함으로써 할 수 있습니다. 객체 명은 임의로 작성하시면 됩니다.
s.num = 1;
s.major = "Education";
객체 s를 통해서 Student의 멤버 변수인 num과 major에 데이터를 저장한 것입니다.
cout << s.num << endl;
cout << s.major << endl;
이번에는 위에서 저장한 num과 major의 정보를 출력하는 코드입니다.
Student s1;
Student s2;
Student s3;
s1.num = 1;
s2.num = 2;
s3.num = 3;
이번에는 객체를 3개 생성했습니다. s1, s2, s3를 생성하고 멤버 변수 num을 호출하여 1, 2, 3을 저장했습니다.
cout << s1.num << endl;
cout << s2.num << endl;
cout << s3.num << endl;
s1, s2, s3의 멤버 변수 num을 각각 호출했습니다. 코드 실행 결과 1, 2, 3이 출력됩니다. 각 객체의 멤버 변수에는 다른 값이 저장되었기 때문에 다른 값이 출력됩니다.
그럼 이번에는 객체 배열을 생성해서 멤버 변수를 호출하고 데이터를 저장하는 방법을 알아보겠습니다.
2. 객체 배열 생성하기
객체 배열은 일반 배열을 생성하는 것과 동일하게 생각하시면 됩니다.
Student s[3];
배열의 길이를 설정해서 객체를 생성하면 됩니다.
s[0].num = 1;
s[1].num = 2;
s[2].num = 3;
객체 s1, s2, s3을 생성해서 멤버 변수를 호출했던 것 처럼 s[0] 처럼 배열을 호출하여 멤버 변수 num을 호출하였습니다. 그리고 데이터를 저장해주면 객체를 각각 생성해서 멤버 변수를 호출하는 것처럼 데이터를 저장할 수 있습니다.
cout << s[0].num << endl;
cout << s[1].num << endl;
cout << s[2].num << endl;
객체 배열 0번지부터 2번지까지 멤버 변수 num을 호출해서 출력해보면 1, 2, 3이 출력됩니다. 각 멤버 변수는 다른 객체에 저장되어 있는 값이기 때문에 다른 값이 호출되는 것입니다.
그럼 오늘은 객체 생성 방법과 객체 배열 생성 방법을 알아보았습니다.
감사합니다!
'C++' 카테고리의 다른 글
C++ 깊은 복사와 복사 생성자 / 디폴트 복사 생성자 (0) | 2023.02.26 |
---|---|
C++ 얕은 복사와 복사 생성자 (0) | 2023.02.25 |
C++ 큐(queue) 공부하기 / First In First Out (0) | 2023.02.21 |
C++ 디폴트 매개 변수 공부하기 (0) | 2023.02.16 |
C++ 오버로딩 (overloading) 공부하기! (0) | 2023.02.15 |