구조체는 클래스의 일종이다.
구조체의 정의에서 struct 대신 class를 사용하면 클래스를 선언할 수 있다.
다만 구조체의 경우 Car A = {"A", 100, 0};
이런식으로 변수를 선언할 수 있지만, 클래스는 Car A;
이렇게 정의해주는 것만 가능하다.
.. 그럼 초기화는?
클래스 내에 선언된 변수는 동일 클래스 내에서 선언된 함수에서만 접근이 가능하다.
.. 그럼 접근은 어떻게?
*클래스는 정의를 하는 과정에서 각각의 변수 및 함수의 접근 허용 범위를 별도로 선언할 수 있다..
구조체 역시 클래스이므로 접근 범위를 설정할 수 있는데, 설정하지 않았을 때의 default값의 차이가 있다.
접근 제어 지시자를 선언하게 되면, 이후 등장하는 변수나 함수에는 해당 범위 내에서 접근이 가능하게 된다.
접근제어 지시자의 종류는 다음과 같다.
종류 | 의미 |
---|---|
public | 어디서든 접근 허용 |
protected | 상속관계에 놓여있을 때, 유도 클래스에서의 접근 허용 |
private | 클래스 내에 정의된 함수에서만 접근 허용 |
접근제어 지시자의 성질은 다음과 같다.
:
이 붙는다.<출처 : 윤성우의 열혈 C++ 프로그래밍>
위 책을 공부하며 정리한 내용입니다.