본문 바로가기
C언어

C++ 디폴트 생성자

by 여름코딩 2023. 1. 9.
반응형

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

 

C++에는 디폴트 생성자라는 것이 있습니다. 저번에는 생성자에 대해서 공부하고 어떤 역할을 하는지 알아보았습니다. 그리고 생성자를 생성하는 방법을 공부하면서 멤버 변수 초기화 방법을 알게 되었습니다. 생성자는 주로 멤버 변수를 초기화하기 위해서 활용했습니다. private으로 선언된 멤버 변수를 클래스 내에서 초기화 하기 위한 방법 중 하나입니다. 반환형을 쓰지 않고 클래스 이름과 동일하다는 특징이 있습니다. 오늘은 디폴트 생성자가 무엇인지 알아보고 어떻게 생성되는지 공부해보겠습니다.

 

디폴트 생성자

 

1. 디폴트 생성자가 무엇일까?

디폴트 생성자는 사용자가 설정하지 않아도 자동으로 삽입되는 생성자입니다. 그럼 디폴트 생성자는 어떤 특징이 있는지 알아보겠습니다.

Class school{
private:
    int num;
    int student;
public:
    school(){
    }
};

school 클래스를 생성했습니다. 이 클래스는 학교에 대한 정보를 저장하기 위해서 생성했습니다. private으로 생성한 변수 중 int형 변수 num과 student를 초기화하기 위해서 생성자를 생성해서 변수에 값을 저장하는 방법이 있습니다. 그런데 이 코드는 생성자를 통한 초기화 내용은 포함하지 않습니다. 대신 school(){}라는 클래스 이름과 동일하고 반환형이 없는 함수가 보입니다. 이 함수가 바로 디폴트 생성자입니다!

 

2. 디폴트 생성자의 특징

디폴트 생성자는 생성자와 형태는 비슷합니다. 반환형이 없다는 것과 클래스의 이름과 함수의 이름이 동일하다는 것입니다. 그리고 가장 큰 특징은 인자나 괄호 안의 내용이 없다는 것입니다. 사용자가 생성자를 직접 선언하지 않으면 디폴트 생성자가 자동으로 삽입됩니다. 객체를 생성하면 자동으로 실행되므로 생성자의 특징이 있습니다. 만약 사용자가 생성자를 생성하고 인자와 괄호 내부의 코드를 작성하여 초기화하도록 한다면 디폴트 생성자는 삽입되지 않습니다. 객체 생성시 해당 생성자가 실행됩니다.

 

그럼 오늘은 디폴트 생성자에 대해서 알아보았습니다.

 

감사합니다!

반응형