magic methods-어떤 상황이 되면 call 하지 않아도 자동으로 실행되는 메소드
PHP에서 사용되는 매직 메서드 (Magic Methods)는 특별한 이름을 가진 메서드로, 객체의 특정 상황에서 자동으로 호출되는 메서드입니다. 이러한 매직 메서드를 사용하여 객체의 동작을 커스터마이즈할 수 있습니다. 매직 메서드는 이중 밑줄 (`__`)로 시작합니다. 다음은 PHP에서 주로 사용되는 매직 메서드입니다:
1. `__construct()`: 객체가 생성될 때 자동으로 호출되는 생성자 메서드입니다. 주로 초기화 작업에 사용됩니다.
2. `__destruct()`: 객체가 더 이상 참조되지 않을 때 자동으로 호출되는 소멸자 메서드입니다. 주로 리소스 반환이나 정리 작업에 사용됩니다.
3. `__toString()`: 객체를 문자열로 변환할 때 자동으로 호출되는 메서드로, `echo`나 `print` 등 문자열로 사용될 때 작동합니다.
4. `__get($property)`: 객체의 비공개 속성에 접근하려고 할 때 호출되며, 속성에 대한 사용자 정의 동작을 구현할 수 있습니다.
5. `__set($property, $value)`: 객체의 비공개 속성에 값을 설정하려고 할 때 호출되며, 속성 설정에 대한 사용자 정의 동작을 구현할 수 있습니다.
6. `__isset($property)`: `isset()` 함수를 사용하여 객체의 속성이 설정되었는지 확인할 때 호출됩니다.
7. `__unset($property)`: `unset()` 함수를 사용하여 객체의 속성을 제거하려고 할 때 호출됩니다.
8. `__call($method, $arguments)`: 객체에 정의되지 않은 메서드를 호출하려고 할 때 호출되며, 메서드 호출에 대한 사용자 정의 동작을 구현할 수 있습니다.
9. `__callStatic($method, $arguments)`: 정적 메서드에 정의되지 않은 정적 메서드를 호출하려고 할 때 호출됩니다.
10. `__clone()`: 객체를 복제할 때 호출되며, 복제된 객체의 동작을 사용자 정의할 수 있습니다.
11. `__sleep()`: 객체를 직렬화할 때 호출되며, 직렬화할 속성 목록을 반환할 수 있습니다.
12. `__wakeup()`: 객체를 역직렬화할 때 호출되며, 역직렬화 후에 필요한 초기화 작업을 수행할 수 있습니다.
13. `__invoke()`: 객체를 함수처럼 호출하려고 할 때 호출되며, 객체를 호출 가능한(Callable) 객체로 만들 수 있습니다.
14. `__set_state($properties)`: `var_export()` 함수를 사용하여 객체를 내보낼 때 호출되며, 내보내진 데이터를 기반으로 객체를 복원할 수 있습니다.
15. `__debugInfo()`: `var_dump()` 함수를 사용하여 객체를 디버그할 때 호출되며, 객체의 디버그 정보를 사용자 정의할 수 있습니다.
이러한 매직 메서드를 활용하면 객체 지향 프로그래밍에서 더 많은 제어와 사용자 정의를 할 수 있습니다.
Number | Title | Author | Date | Votes | Views |
40 |
php formatter
siwon
|
2024.11.26
|
Votes 0
|
Views 346
|
siwon | 2024.11.26 | 0 | 346 |
39 |
html center 중앙정렬 tailwind
siwon
|
2024.07.27
|
Votes 0
|
Views 713
|
siwon | 2024.07.27 | 0 | 713 |
38 |
dropdown menu alpinejs 사용 버전
siwon
|
2024.04.30
|
Votes 0
|
Views 782
|
siwon | 2024.04.30 | 0 | 782 |
37 |
dropdown menu 간단 버전
siwon
|
2024.04.30
|
Votes 0
|
Views 741
|
siwon | 2024.04.30 | 0 | 741 |
36 |
The Standard PHP Library (SPL) is a collection of classes and interfaces that provide core functionality to PHP developers.
siwon
|
2023.10.24
|
Votes 0
|
Views 1095
|
siwon | 2023.10.24 | 0 | 1095 |
35 |
session 과 쿠키
siwon
|
2023.10.24
|
Votes 0
|
Views 774
|
siwon | 2023.10.24 | 0 | 774 |
34 |
Late Static Binding (LSB):메서드 내부에서 현재 클래스의 정적 메서드 또는 프로퍼티를 호출할 때 사용
siwon
|
2023.10.24
|
Votes 0
|
Views 732
|
siwon | 2023.10.24 | 0 | 732 |
33 |
PHP 예외 처리(Exception Handling)
siwon
|
2023.10.10
|
Votes 0
|
Views 933
|
siwon | 2023.10.10 | 0 | 933 |
32 |
php exception
siwon
|
2023.10.10
|
Votes 0
|
Views 1214
|
siwon | 2023.10.10 | 0 | 1214 |
31 |
예외(Exception)를 처리하기 위해 try...catch 블록을 사용하는 방법
siwon
|
2023.10.10
|
Votes 0
|
Views 804
|
siwon | 2023.10.10 | 0 | 804 |
30 |
Preserving Parent Class Functionality in overriding
siwon
|
2023.09.26
|
Votes 0
|
Views 643
|
siwon | 2023.09.26 | 0 | 643 |
29 |
oop 세부항목
siwon
|
2023.09.26
|
Votes 0
|
Views 639
|
siwon | 2023.09.26 | 0 | 639 |
28 |
method chaining
siwon
|
2023.09.25
|
Votes 0
|
Views 767
|
siwon | 2023.09.25 | 0 | 767 |
27 |
interface implements
siwon
|
2023.09.19
|
Votes 0
|
Views 681
|
siwon | 2023.09.19 | 0 | 681 |
![]()
siwon
|
2023.10.24
|
Votes 0
|
Views 566
|
siwon | 2023.10.24 | 0 | 566 | |
26 |
abstract class : 부모 class로 사용되며 자식(extends 한)에게 abstract method를 강제함(그들만의 방식으로)
siwon
|
2023.09.19
|
Votes 0
|
Views 638
|
siwon | 2023.09.19 | 0 | 638 |
25 |
isset() / unset()
siwon
|
2023.09.18
|
Votes 0
|
Views 705
|
siwon | 2023.09.18 | 0 | 705 |
24 |
magic methods-어떤 상황이 되면 call 하지 않아도 자동으로 실행되는 메소드
siwon
|
2023.09.18
|
Votes 0
|
Views 705
|
siwon | 2023.09.18 | 0 | 705 |
23 |
MD(markdown) file
siwon
|
2023.09.12
|
Votes 0
|
Views 720
|
siwon | 2023.09.12 | 0 | 720 |
22 |
usort
siwon
|
2023.08.30
|
Votes 0
|
Views 652
|
siwon | 2023.08.30 | 0 | 652 |
21 |
closure=unanimous function
siwon
|
2023.08.30
|
Votes 0
|
Views 724
|
siwon | 2023.08.30 | 0 | 724 |
![]()
siwon
|
2023.10.24
|
Votes 0
|
Views 1379
|
siwon | 2023.10.24 | 0 | 1379 | |
20 |
reference variable &
siwon
|
2023.08.29
|
Votes 0
|
Views 714
|
siwon | 2023.08.29 | 0 | 714 |
![]()
siwon
|
2023.08.30
|
Votes 0
|
Views 747
|
siwon | 2023.08.30 | 0 | 747 | |
19 |
PHP 변수 : 스칼라(Scalar), 복합(Composite), 그리고 리소스(Resource)
siwon
|
2023.08.22
|
Votes 0
|
Views 792
|
siwon | 2023.08.22 | 0 | 792 |
18 |
if : vs {}
siwon
|
2023.08.22
|
Votes 0
|
Views 609
|
siwon | 2023.08.22 | 0 | 609 |
17 |
null coalescing operator
siwon
|
2023.08.18
|
Votes 0
|
Views 821
|
siwon | 2023.08.18 | 0 | 821 |
16 |
arrary functions
siwon
|
2023.08.18
|
Votes 0
|
Views 667
|
siwon | 2023.08.18 | 0 | 667 |