현재 위치: > 최신 기사 목록> PHP 기능 액세스 권한에 대한 자세한 설명 : 공개, 보호 및 개인을 올바르게 설정하는 방법

PHP 기능 액세스 권한에 대한 자세한 설명 : 공개, 보호 및 개인을 올바르게 설정하는 방법

M66 2025-07-28

PHP 기능 액세스 권한 수준 소개

PHP 객체 지향 프로그래밍에서 함수의 액세스 권한은 기능을 호출 할 수있는 코드를 결정합니다. 액세스 권한 수정자를 설정함으로써 개발자는 기능의 가시성 및 액세스 범위를 유연하게 제어하여 코드의 보안 및 캡슐화를 향상시킬 수 있습니다.

액세스 권한 수정 자 및 그 기능

공공의

공개로 수정 된 기능은 모든 코드에 표시되며 클래스 외부를 포함하여 어디서나 호출 할 수 있습니다.

예:

 public function publicFunction() {
  // 기능 코드
}

보호 (보호)

보호 된 수정 된 함수는 클래스와 함수를 정의하는 서브 클래스에 의해서만 액세스 할 수 있으며 클래스 밖에서 직접 호출 할 수 없습니다.

예:

 protected function protectedFunction() {
  // 기능 코드
}

개인 (개인)

비공개로 수정 된 함수는 기능 자체를 정의하는 클래스에서만 액세스 할 수 있으며 서브 클래스와 클래스 외부에서 액세스 할 수 없습니다.

예:

 private function privateFunction() {
  // 기능 코드
}

실제 사례 분석

다음 예는 부모 및 자식 수업에서 다른 액세스 권한이있는 기능의 액세스 상황을 보여줍니다.

 class ParentClass {
  public function publicFunction() {
    echo "Public function in parent class";
  }

  protected function protectedFunction() {
    echo "Protected function in parent class";
  }

  private function privateFunction() {
    echo "Private function in parent class";
  }
}

class ChildClass extends ParentClass {
  public function accessFunctions() {
    $this->publicFunction();
    $this->protectedFunction();
    // 다음 호출은 오류가 발생합니다,왜냐하면privateFunction사적입니다
    // $this->privateFunction();
  }
}

$child = new ChildClass();
$child->publicFunction();
$child->protectedFunction(); // 여기에서 전화하면 오류가보고됩니다,protected기능은 클래스 밖에서 직접 액세스 할 수 없습니다

이 예에서 ParentClass는 다른 액세스 권한이있는 기능을 정의합니다. Child Class Childclass는 부모 클래스에서 공개 및 보호 기능에 액세스 할 수 있지만 개인 기능은 아닙니다. 보호 된 기능은 클래스 밖에서 직접 호출 할 수 없습니다.

요약

액세스 권한 수정 자의 합리적인 사용은 PHP 객체 지향 설계의 중요한 부분입니다. 기능의 액세스 수준을 올바르게 지정함으로써 클래스의 내부 구현 세부 사항을 효과적으로 보호 할 수 있으며 필요한 인터페이스는 외부 세계에 제공되어 코드의 캡슐화 및 재사용을 실현합니다.