• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] C++ - Constructors (생성자)

820  
목차
  1. Constructors (생성자)
  2. Constructor Parameters (생성자 매개변수)

 

Constructors (생성자)

 

객체의 속성 초기화에 사용되는 특수 메서드.

 


 

※ 클래스의 객체가 생성될 때 자동 호출됨.

※ 객체의 속성 초기값 설정에 사용 가능.

※ 생성자명은 클래스명과 동일해야하며, public 이여야 함.

※ 반환값 없음. (void 처럼.)

 


[예제]  

 

#include <iostream>

using namespace std;


class Hz {

  public:

    Hz() { // 생성자

      cout << "홈짱닷컴 Homzzang.com";

    }

};


int main() {

  Hz myObj; // 객체 생성 시, 생성자 자동 호출.

  return 0;

}

 

결과값: 홈짱닷컴 Homzzang.com

PS. 한글 깨지는 경우, 여기 맨 하단 참고.

 

Constructor Parameters (생성자 매개변수)

 

1.

생성자는 속성 초기값 설정 위해 매개변수를 원하는 만큼 보유 가능.


2.

생성자 내용 정의는 :: (범위 연산자) 이용해 클래스 밖에서도 가능. (예제2) 

 


[예제1] - 클래스 「안」에서 생성자 내용 정의.

 

#include <iostream>

using namespace std;

 

class Hz {

  public:

    string host;

    int year;

    Hz(string hostName, int openYear) { // 생성자

      host = hostName;

      year = openYear;

    }

};


int main() {

  Hz my("홈짱닷컴 Homzzang.com", 2012); // 객체 생성

  cout << my.host << " (" << my.year << ")\n";

  return 0;

}

 

결과값: Homzzang.com (2012) 

[예제2] 클래스 「밖」에서 생성자 내용 정의.

 

#include <iostream>

using namespace std;


class Hz {

  public:

    string host;

    int year;

    Hz(string hostName, int openYear); // 생성자 선언

};


Hz::Hz(string hostName, int openYear) { // 생성자 정의

  host = hostName;

  year = openYear;

}


int main() {

  Hz my("홈짱닷컴 Homzzang.com", 2012); // 객체 생성

  cout << my.host << " (" << my.year << ")\n";

  return 0;

}

 

결과값: Homzzang.com (2012)



분류 제목
class C++ - OOP (객체 지향 프로그래밍)
class C++ - Class (클래스) / Object (객체)
class C++ - Class Methods (클래스 메서드)
class C++ - Constructors (생성자)
class C++ - Access Specifiers (접근지정자)
class C++ - Encapsulation (캡슐화)
class C++ - Inheritance (상속)
class C++ - Polymorphism (다형성)
class C++ - Files (파일) - 파일생성/파일읽기/파일쓰기
class C++ - Exceptions (= Try...Catch..) - 에러 제어
목록
찾아주셔서 감사합니다. Since 2012