클래스 내부를 구현할 때 주로 두 가지의 접근 지정자를 이용했다.
객체 내부에서만 접근 가능한 private 접근 지정자와 객체 외부에서도 접근 가능한 public이었다.
클래스를 상속받는 자식 클래스의 객체 경우에도 private 접근 지정자로 정의된 멤버에 접근할 수 없었다.
그러다보니 자식 클래스의 내부를 구현할 때도 멤버 변수에 바로 접근할 수가 없었다.
protected 접근 지정자를 사용하면 부모 클래스와 파생된 클래스가 같은 클래스의 객체의 내부에서 접근이 가능해진다.