안녕하세요 판타지코딩입니다!
C++은 클래스를 정의하고 객체를 생성해서 함수와 변수를 활용할 수 있습니다. 오늘은 객체의 개념과 생성 방법을 공부해 보겠습니다!
객체란?
객체는 클래스에 정의한 변수와 함수를 활용하기 위해 생성하는 것입니다. 예를 들어보겠습니다. 학생에 대한 정보는 '학번', '전공', '나이' 가 있을 수 있습니다. 학번은 23, 전공은 컴공, 나이는 20살이라고 했을 때 변수로 생성하면 아래와 같이 코드를 구현할 수 있습니다.
int num = 23;
string major = "컴공";
int age = 20;
int형 변수 num에 23을 저장하고, string형 변수 major에 "전공"을, int형 변수 age에 20을 저장했습니다. 이 코드가 학생1에 대한 정보라고 했을 때, 학생2에 대한 정보도 코드로 구현해 보겠습니다.
int num2 = 21;
string major2 = "미술";
int age2 = 22;
같은 코드 내에서 변수는 겹치면 안되기 때문에 학생1의 데이터와 구분하기 위한 목적으로 학생2의 변수는 num2, major2, age2로 정의했습니다. 이렇게 원하는 학생의 수만큼 작성할 수 있습니다. 그런데 학생10까지 작성하려면 변수의 종류가 num1~num10까지 생성될 것입니다. 만약 학생30까지 있다면 num28, num29, num30 이렇게 작성한다면 효율적인 변수명은 아닐 것입니다. 그래서 객체를 생성해서 변수를 호출하는 방식으로 작성하면 학생끼리의 구분도 쉬워지고 변수를 여러 개 만들지 않아도 되는 것입니다.
클래스 정의
class student{
public:
int num;
string major;
int age;
};
객체 생성을 위한 클래스를 정의했습니다. 위에서 활용하던 변수를 그대로 클래스에 멤버 변수로 작성했습니다. 객체를 생성해서 이 변수에 데이터를 저장해 보겠습니다.
객체 생성과 데이터 저장
int main()
{
student s;
s.num = 23;
s.major = "컴공";
s.age = 20;
cout << "학번 : " << s.num << endl;
cout << "전공 : " << s.major << endl;
cout << "나이 : " << s.age << endl;
return 0;
}
student 클래스의 객체를 생성해서 멤버 함수별로 데이터를 저장하고 출력해 보았습니다. 한 줄씩 리뷰해 보겠습니다.
객체 생성
student s;
student 클래스의 객체 s를 생성하는 코드입니다.
멤버 변수에 데이터 저장하기
s.num = 23;
s.major = "컴공;
s.age = 20;
멤버 변수 num, major, age를 호출하는 코드입니다. 객체 s를 통해서 호출하면 해당 객체의 멤버 변수에 데이터가 저장됩니다. 저장한 데이터를 출력해 보겠습니다.
메인 함수 실행
학번 : 23
전공 : 컴공
나이 : 20
메인 함수 실행 결과 위와 같은 결과가 출력되었습니다.
그럼 오늘은 객체의 개념과 활용 방법을 공부해 보았습니다. 객체 생성 방법과 필요성을 유념하면서 코드 작성해 보시면 좋겠습니다.
감사합니다!
'C++' 카테고리의 다른 글
C++ 상속 공부하기 - 부모 클래스와 자식 클래스 (0) | 2023.05.09 |
---|---|
C++ 객체 활용하기 (0) | 2023.05.08 |
C++ 소멸자 공부하기 - 클래스와 소멸자 (0) | 2023.04.28 |
C++ 생성자 공부하기 - 클래스와 생성자 (0) | 2023.04.27 |
C++ 클래스 멤버 함수 정의하기 (0) | 2023.04.26 |