본문 바로가기
C++

C++ 객체 공부하기!

by 여름코딩 2023. 5. 3.
반응형

안녕하세요 판타지코딩입니다!

 

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

 

메인 함수 실행 결과 위와 같은 결과가 출력되었습니다. 

 

그럼 오늘은 객체의 개념과 활용 방법을 공부해 보았습니다. 객체 생성 방법과 필요성을 유념하면서 코드 작성해 보시면 좋겠습니다.

 

감사합니다!

반응형