명시 전 멤버는 private
class MyClass {
int privateVar;
public:
int
publicVar;
};
객체 사용자는 public 이후의 publicVar만 직접 접근할 수 있다.
접근 지정자를 쓰기 전의 멤버는 class와 struct에서 서로 다른 기본 공개 범위를 갖는다.
class MyClass {
int privateVar;
public:
int
publicVar;
};
객체 사용자는 public 이후의 publicVar만 직접 접근할 수 있다.
struct MyStruct {
int publicVar;
private:
int
privateVar;
};
private 이후로 내려간 privateVar만 외부 직접 접근이 막힌다.
캡슐화가 목적이면 class와 private 멤버 변수를 기본으로 둔다.
단순 값 묶음은 struct의 public 기본값이 더 자연스러울 수 있다.
중요한 경계는 public, private, protected를 직접 적어 의도를 남긴다.