안녕하세요 판타지코딩입니다!
C++은 객체지향 언이이기 때문에 클래스를 생성하고, 객체를 통해서 멤버 변수와 멤버 함수를 호출할 수 있습니다.
클래스 내부를 보면 반환형이 없는 함수 형태의 코드가 있습니다. 이것은 생성자라고 하는 함수입니다. 오늘은 생성자가 무엇인지 알아보고, 생성자를 호출하는 방법에 대해서 알아보겠습니다.
1. 생성자란?
생성자는 멤버 변수를 초기화 할 때 활용할 수 있는 함수입니다. 반환형이 없다는 특징이 있습니다. 코드를 통해서 생성자가 어떤 것인지 보겠습니다.
class homework{
public:
int num;
homework(int val){
num = val;
}
};
homework 클래스를 생성했습니다.
접근제어지시자는 'public'으로 외부에서도 멤버 변수와 멤버 함수에 접근할 수 있도록 했습니다.
int형 변수 num을 생성했고, 초기값은 저장하지 않았습니다.
homework(int val) 함수를 볼 수 있는데, 반환형이 작성되어 있지 않으므로 생성자임을 알 수 있습니다. 그리고 함수의 이름이 클래스의 이름과 동일한 것으로도 생성자임을 알 수 있습니다.
int형 변수 val을 인자로 받아 멤버 변수 num에 저장합니다. 그럼 생성자를 호출하는 방법을 알아보겠습니다.
2. 생성자 호출하기
생성자는 객체 생성시에 자동으로 호출됩니다. 위에서 생성한 생성자는 인자를 받는 생성자이므로 객체 생성시 인자를 주면 됩니다.
int main()
{
homework s(10);
cout << s.num << endl;
return 0;
}
homework 클래스의 객체 s를 생성했습니다. 이 때 인자로 10을 줬습니다. int형 변수 val에 10이 전달되어 멤버 변수 num에 10이 저장됩니다.
cout 함수로 s.num을 출력해보면 아래와 같은 결과를 확인할 수 있습니다.
10
그럼 오늘은 생성자를 생성하고, 호출하는 방법을 알아보았습니다. 생성자는 반환형이 없고, 클래스 이름과 동일하다는 특징이 있습니다. 생성자를 생성하고, 객체 생성시 호출하는 코드를 작성할 수 있다면 오늘은 100점입니다!
감사합니다!
'C++' 카테고리의 다른 글
C++ 객체 공부하기! (0) | 2023.05.03 |
---|---|
C++ 소멸자 공부하기 - 클래스와 소멸자 (0) | 2023.04.28 |
C++ 클래스 멤버 함수 정의하기 (0) | 2023.04.26 |
C++ 객체 공부하기! - 멤버 변수와 멤버 함수 (0) | 2023.04.25 |
C++ 클래스 생성하기 - 멤버 변수, 멤버 함수, 접근제어지시자 (0) | 2023.04.21 |