default access

class는 닫힌 상태로, struct는 열린 상태로 시작한다

접근 지정자를 쓰기 전의 멤버는 class와 struct에서 서로 다른 기본 공개 범위를 가진다.

class MyClass 기본 private
명시 전 구간: 외부에서 직접 접근할 수 없다.
class MyClass {
  int privateVar;   // private

public:
  int publicVar;    // public
};
struct MyStruct 기본 public
명시 전 구간: 외부에서 직접 접근할 수 있다.
struct MyStruct {
  int publicVar;    // public

private:
  int privateVar;   // private
};
class 상태 보호 목적이면 기본값만으로도 먼저 닫힌다.
struct 단순 데이터 묶음이면 기본값이 공개 쪽이라 자연스럽다.
명시 우선 중요한 경계는 public, protected, private를 직접 적어 의도를 남긴다.