멤버 접근 지정자
(access specifier)가 존재private 접근 지정으로 선언된 멤버로서, 클래스 내의 멤버 함수들에게만 접근 허용
public 접근 지정으로 선언된 멤버로서, 클래스 내외를 막론하고 프로그램의 모든 함수들에게 접근 허용
protecte 접근 지정으로 선언된 멤버로서, 클래스 내의 멤버 함수와 이 클래스를 상속받은 파생 클래스의 멤버 함수에게만 접근 허용
class Sample {
private :
// private 멤버 변수 선언.
public :
// public 멤버 변수 선언.
protected :
// protected 멤버 변수 선언.
};
멤버 변수
는 private으로 지정하고, 생성자
는 public으로 선언하는 것이 바람직✅ 생성자는 항상 public으로 선언해야 하는가?
생성자가 public이 아니면 외부에서 객체를 생성할 수 없음. 그러면 생성자는 항상 public으로 선언해야 하는가?
⇒ ❌, 의도적으로 외부에서 객체를 생성할 수 없도록 생성자를 private으로 선언하기도 하고, 자식 클래스에서만 생성자를 호출하도록 protected로 선언하기도 함