2014-11-30 6 views
3

자바 protected 키워드는 클래스, 패키지, 서브 클래스에서 액세스 할 수 있지만 세계는 액세스 할 수 없다는 것을 알고 있습니다.보호 수정자를 가져야하는 클래스 멤버는 무엇입니까?

내 질문은 언제 사용해야합니까? protected?

+7

당신이 말한 것과 정확히 일치해야합니다 : 클래스, 패키지, 서브 클래스에 액세스 할 수 있지만 세상에는 액세스 할 수없는 것을 원할 때. 질문하시는 내용을 설명해주십시오. – 416E64726577

+0

을 사용해야합니다. P – Pravin

+1

닫기 전에 1 ~ 2 시간을줍니다. 최초로 주장 된 사본에 대한 대답은 "보호받을 때 * 사용해야 할 때"라고 명확히 대답하지 않습니다. 두 번째 혐의 복제본은 단지 3 개의 대답으로 꽤 무시 당했으며 실제로 "보호 시점"에 초점을 맞추지 않았습니다. 좋은 응답이 나오지 않도록하여 stackoverflow를 저하시키지 마십시오. 또는 적어도 닫을 경우, 정사각형 못이 둥근 구멍에 딱 맞다고 생각하는 이유를 설명해야합니다. – necromancer

답변

2

기본 클래스로 사용하도록 의도 된 클래스에서 protected를 사용하고 패키지가 공개되지 않고 파생 클래스의 일부 메서드 나 특성에 액세스하려고합니다.

프레임 워크에서는 일반적으로 사용됩니다. 일반적으로 공용 API를 정의하는 인터페이스와 파생 될 기본 클래스 (종종 추상적 인)가 있습니다. 파생 클래스에서 재정의 된 메서드는 보호 된 메서드 및/또는 특성을 사용할 수 있습니다. 그 방법은 :

  • 그 방법은없는 프레임 워크 하나에 구현의 패키지에
  • 파생 된 클래스가있을 수 있습니다 공개 할 필요가 없습니다.
3

이 경우 요소를 클래스, 패키지, 하위 클래스에 액세스 할 수 있지만 세계는 액세스 할 수 없도록하려면 protected를 사용해야합니다. 프로그램을 다른 프로그래머가 다수 만들고 변수를 변경하는 것을 원치 않지만 그렇게 할 수있는 하위 클래스를 만들 수 있기를 원한다면 매우 유용합니다.