[c++] 구조체와 클래스의 상수 멤버

구조체와 클래스는 상수 멤버를 가질 수 있습니다. 이러한 상수 멤버는 객체의 상태를 나타내는 데 사용될 수 있으며, 객체가 상태를 변경하지 않고 읽기만 하는 용도로 사용됩니다.

구조체에서의 상수 멤버

struct Point {
    const int x = 0; // 상수 멤버 변수
    const int y = 0; // 상수 멤버 변수
};

위의 코드에서 xy는 구조체 Point의 상수 멤버로 선언되어 있습니다. 이러한 선언은 구조체가 초기화될 때 상수 멤버의 값을 지정하므로 객체가 생성된 후에는 변경할 수 없습니다.

클래스에서의 상수 멤버

class Circle {
public:
    const double pi = 3.14; // 상수 멤버 변수
    const double radius;     // 상수 멤버 변수

    Circle(double r) : radius(r) { } // 생성자에서 상수 멤버 변수 초기화
};

위의 코드에서 piradius는 클래스 Circle의 상수 멤버로 선언되어 있습니다. pi는 선언과 동시에 초기화되고, radius는 생성자에서 초기화됩니다. 이러한 상수 멤버는 객체가 생성된 후에는 변경할 수 없습니다.

상수 멤버의 활용

구조체와 클래스의 상수 멤버는 객체의 상태를 나타내는 데 사용될 수 있으며, 상태를 변경하지 않는 용도로 사용됩니다.

상수 멤버는 객체의 데이터 불변성을 유지하고, 프로그램의 안정성을 높이는 데 도움을 줄 수 있습니다.


참고 문헌: