클래스 인스턴스화

1 minute read


객체와 인스턴스

객체는 멤버 변수, 메서드 등 속성이나 기능을 가지고 있는 것들을 말한다.
클래스는 연관된 객체들 끼리 묶어주는 틀의 역할을 한다. 클래스로 부터 만들어낸 객체를 인스턴스라고 하며 이 과정을 인스턴스화라고 한다.

  • 함수와 메서드
    함수는 특정 톡립된 작업을 수행하는 코드를 말한다. 메서드는 함수에 포함되는 개념으로 클래스, 구조체 열거형에 포함되어있는 함수를 뜻하며 클래스 함수라고도 한다.


클래스를 만들고 인스턴스 생성하기

#include <iostream>

class CStudent
{
private:
    char c_mName[20];
    int i_mAge = 0;
    int i_mNumber = 0;

public:
    void SetInformation( const char * _name, int _age, int _number)
    {
        strcpy_s(c_mName, _name);
        i_mAge = _age;
        i_mNumber = _number;
    }

    void PrintInformation()
    {
        std::cout << "NAME : " << c_mName << std::endl 
            << "AGE : " << i_mAge << std::endl 
            << "NUMBER : " << i_mNumber << std::endl;
    }
};


int main()
{
    CStudent student;
    student.SetInformation( "Bak", 17, 12345 );
    student.PrintInformation();

    return 0;
}

Student 클래스는 학생의 정보를 저장한다.
클래스 멤버 변수는 직접적인 접근을 제한하기위해서 private로 선언했다. private로 선언한 변수는 클래스 외부에서 접근할 수 없기 때문에 메인 함수에서 사용하기 위해서 값을 넣는 함수와 출력하는 함수를 만들고 외부에서는 이 함수를 통해 접근한다.


인스턴스화

  • 메인함수에서 클래스 인스턴스를 생성한다.

    CStudent student;
    

    이렇게 생성된 인스턴스는 public으로 지정된 멤버 변수와 메서드에 접근이 가능해진다.

    student.SetInformation( "Bak", 17, 12345 );
    student.PrintInformation();
    

    값을 초기화 해주는 함수와 출력해 주는 함수를 통해 멤버 변수에 값을 저장하고 출력할 수 가 있다.

    instance