self는 클래스와 객체에서 반드시 이해해야 하는 개념입니다.
▲ 그림 14-5 메서드의 매개변수 self
그럼 다음 코드에서 self로 전달되는 인자는 무엇일까요?
fairy = Character()
fairy.hi()
self로 전달되는 인자는 fairy 객체입니다.
메서드는 클래스 내부에 있는 사용자 정의 함수입니다. 따라서 매개변수를 self 외에도 더 추가할 수 있습니다. hi() 메서드에 매개변수 name으로 이름을 전달받아 출력해 봅시다.
class Character:
def hi(self, name):
print('안녕! 난', name)
swordsman = Character()
swordsman.hi('검술사')
fairy = Character()
fairy.hi('요정')
thief = Character()
thief.hi('도적')
실행결과
안녕! 난 검술사
안녕! 난 요정
안녕! 난 도적