IT 이야기/Python

Python __함수__ 매직 메서드란?

Kjun25 2024. 3. 7. 17:07
반응형

파이썬을 접하면서 다른 프로그래밍 언어와 달리 __ init__ 와 같이 함수 앞뒤에 언더바가 2개씩 붙이는 표현이 있습니다. 이를 매직 메서드(Magic method) 혹은 던더 메서드(Dunder method)라고 합니다. 이 표현에 대해 알아보고 기록하기 위해 정리합니다.

매직 메서드

Python에서 매직 메서드는 사용자가 직접 호출할 수 없습니다. 

연사자를 사용하여 숫자 연산을 하면 내부적으로 __add__() 메서드가 호출됩니다.

__add__()를 호출하면 op1 + op2일 때 컴파일러가 해당 class의 __add__() 구현 여부를 확인하여 인라이닝 합니다.

 

class Student
 def __init__(self, name, age):
  self.name = name
  self.age = age

 

예시로 __init__함수는 간단하게 생성자라고 보면 된다.

클래스의 인스턴스가 생성될 때 호출된다.

 

 

반응형

'IT 이야기 > Python' 카테고리의 다른 글

Python 증감연산자 ++, --  (0) 2020.02.07