생성자(Constructor)

생성자
객체가 생성될 때 호출되는(딱 한번 실행) 반환형이 없는(void) 하나의 메소드(메소드는 오버로딩 가능)

Class object;
객체의 생성과 동시에 생성자 호출(초기화 없이)
Class *objecct = new Class;
new로 생성된 객체도 마찬가지로 생성자 호출

제작자가 따로 생성자를 제시 하지 않으면 컴파일러가 기본 생성자를 만들어 냄
다시 말하면, 제작자가 생성자를 제시하면 별 다른 생성자를 만들지 않는다.



생성자의 기능: 클래스 멤버변수 초기화 기능. 생성자 호출될 때 클래스 멤버 변수 초기화 후 생성자 메소드 본체 호출


* 클래스 멤버변수 초기화 방법

1. 생성자에서 초기화(많이씀)
mainGame::mainGame()
{
_hp = 1000;
}

2. 생성자 오버로딩으로 초기화
//기본 생성자
mainGame();
//생성자 오버로딩
mainGame(int hp);
mainGame* mg = new mainGame(100); //2.생성자 오버로딩으로 초기화
3. 멤버이니셜라이즈를 통한 초기화(제일 많이씀)
멤버 이니셜라이저(Member Initializer): 멤버 초기화 도구. 객체의 생성과 동시에 초기화
mainGame::mainGame() : _hp(104)
{
}

4. 캡슐화(겟터, 셋터함수)를 통한 초기화









댓글