Language/C++

[C++] 7.Unmanaged Programming: Class

coco_daddy 2024. 1. 23. 01:44

Vector 클래스 만들기

class Vector
{
private:
    int mX; // 멤버 변수 'x'
    int mY;

public:
    // 생성자
    Vector(int x, int y) : mX(x), mY(y) {}

protected:
    // 자식 클래스에서 접근 가능
    std::string mType;
};

기본 접근 권한

C++에서의 기본 접근 권한은 private이다. 따라서 클래스 내의 멤버 변수와 함수는 기본적으로 private으로 간주된다.

접근 제어자(Access Modifier)

  • public: 누구나 접근 가능한 영역.
  • protected: 자식 클래스에서 접근 가능한 영역.
  • private: 해당 클래스 내에서만 접근 가능한 영역.

접근 제어자의 역할

  • public: 클래스 외부에서 사용할 수 있는 인터페이스를 정의한다. 다른 클래스나 함수에서 접근 가능하다.
  • protected: 주로 상속 시 기능을 확장하기 위해 사용되며, 외부에는 공개하지 않는다.
  • private: 클래스 내부에서만 사용되는 멤버 변수 및 함수를 지정한다. 다른 클래스나 함수에서 직접 접근할 수 없다.

제어자 별로 C++ 멤버들을 그룹 짓기

  • public: 인터페이스, 클래스의 주요 기능을 정의.
  • protected: 상속 관계에서 사용되는 함수 및 변수.
  • private: 내부에서만 사용되는 구현 세부사항.

이와 같이 구성된 클래스는 캡슐화를 통해 내부 구현을 숨기고, 외부에서 필요한 부분에 대한 접근을 제어할 수 있도록 설계되었다.