PHP 클래스의 메서드는 클래스 내에서 정의되고 특정 동작이나 작업을 수행하는 데 사용되는 함수입니다. 개체의 동작을 캡슐화하고 다른 개체와 상호 작용하거나 자체 데이터를 조작할 수 있도록 합니다. 메서드는 클래스 자체, 파생 클래스 또는 클래스 외부에서 액세스할 수 있는지 여부를 결정하는 다양한 가시성 수준으로 정의할 수 있습니다.
PHP에는 공개, 보호 및 개인의 세 가지 방법 가시성이 있습니다.
1. 퍼블릭 메소드: 퍼블릭 메소드는 클래스 내부와 클래스 외부 어디에서나 액세스할 수 있습니다. 개체 인스턴스에서 직접 호출하거나 클래스 자체에서 범위 결정 연산자(::)를 통해 호출할 수 있습니다. 공용 메서드는 일반적으로 개체와 상호 작용하기 위한 기본 인터페이스를 제공하는 데 사용됩니다.
다음은 PHP 클래스의 공용 메서드 예입니다.
php class MyClass { public function publicMethod() { // Method logic here } } $obj = new MyClass(); $obj->publicMethod(); // Calling the public method
2. 보호된 메서드: 보호된 메서드는 클래스 자체 및 해당 파생 클래스 내에서만 액세스할 수 있습니다. 클래스 외부에서 직접 호출할 수 없습니다. 보호된 메서드는 파생 클래스에 대한 특정 메서드에 대한 액세스를 제공하지만 일반 대중에 대한 액세스를 제한하려는 경우에 유용합니다.
다음은 PHP 클래스의 보호된 메서드의 예입니다.
php class MyClass { protected function protectedMethod() { // Method logic here } } class MyDerivedClass extends MyClass { public function derivedMethod() { $this->protectedMethod(); // Accessing the protected method } } $obj = new MyDerivedClass(); $obj->derivedMethod(); // Calling the derived method
3. 개인 메서드: 개인 메서드는 클래스 자체 내에서만 액세스할 수 있습니다. 파생 클래스나 클래스 외부에서 호출할 수 없습니다. 개인 메서드는 일반적으로 다른 클래스나 개체에 노출되어서는 안 되는 내부 구현 세부 정보에 사용됩니다.
다음은 PHP 클래스의 전용 메서드 예입니다.
php class MyClass { private function privateMethod() { // Method logic here } public function publicMethod() { $this->privateMethod(); // Accessing the private method } } $obj = new MyClass(); $obj->publicMethod(); // Calling the public method
메소드의 가시성을 정의하려면 가시성 키워드(public, protected 또는 private) 뒤에 function 키워드와 메소드 이름을 사용합니다. 예를 들어:
php class MyClass { public function publicMethod() { // Method logic here } protected function protectedMethod() { // Method logic here } private function privateMethod() { // Method logic here } }
메서드에 대한 적절한 가시성 수준을 선택하여 액세스 방법을 제어하고 PHP 클래스에서 적절한 캡슐화 및 추상화를 보장할 수 있습니다.
PHP 클래스의 메소드는 객체의 동작을 정의하는 함수입니다. 클래스, 파생 클래스 내 또는 클래스 외부에서 액세스 가능성을 제어하기 위해 다양한 수준의 가시성(공용, 보호 또는 개인)으로 정의할 수 있습니다.
기타 최근 질문 및 답변 PHP의 클래스와 객체:
- 클래스의 속성에 액세스하고 수정하는 데 권장되는 방법은 무엇입니까?
- 클래스의 개인 속성 값을 어떻게 업데이트할 수 있습니까?
- 클래스에서 게터와 세터를 사용하면 어떤 이점이 있습니까?
- 클래스의 개인 속성 값에 어떻게 액세스할 수 있습니까?
- 클래스에서 속성을 비공개로 만드는 목적은 무엇입니까?
- PHP 클래스의 생성자 함수는 무엇이며 그 목적은 무엇입니까?
- PHP 클래스의 속성은 무엇이며 어떻게 가시성을 정의할 수 있습니까?
- PHP의 클래스에서 객체를 어떻게 생성합니까?
- PHP의 클래스는 무엇이며 어떤 용도로 사용됩니까?
더 많은 질문과 답변:
- 들: 웹 개발
- 프로그램 : EITC/WD/PMSF PHP 및 MySQL 기본 사항 (인증 프로그램으로 이동)
- 교훈: PHP의 클래스와 객체 (관련 강의 바로가기)
- 주제 : 클래스 및 개체 - 1부 (관련 항목으로 이동)
- 심사 검토