더북(TheBook)

객체를 생성할 때 name을 입력받기로 지정해 놓고 전달하지 않으면 에러가 발생합니다.

> robot1 = Robot()
(...)
TypeError: __init__() missing 1 required positional argument: 'name'

그러나 name을 입력받기로 했다고 해서 항상 전달해야 하는 것은 아닙니다. 함수를 배울 때 매개변수 기본값을 설정할 수 있었듯이 다음과 같이 name을 필수적으로 전달하지 않도록 만들 수 있습니다.

> class Robot:
>     def __init__(self, name="로봇"):
>         print("robot 객체 {}(가) 만들어집니다.".format(name))
>
> robot1 = Robot()
robot 객체 로봇(가) 만들어집니다.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.