이제 좀 끄적끄적 해보는 단계인데욥... #원론적인질문

조회수 576회

이미지

ㅎㅎㅎ...왜 init 함수에 있는 변수들을 다시한번

self.name = name 처럼 바꿔 주는 이유가 뭐예요...?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • self.name = name에서 왼쪽의 self.name은 객체 속에 있는 name이라는 변수이고요. self.name = name에서 오른쪽의 name은 객체 속에 있는 name이 아니고, 생성자 함수 __init__(self, name, hp, speed)에서 두번째 매개변수 name입니다.

    객체를 선언할 때 생성자 함수를 이용해서 Unit("마린", 100, 50) 이런 식으로 선언할텐데, 이때 "마린"이 생성자 함수 __init__의 두번째 매개변수 name으로 전달됩니다. 이 값은 객체 내부에서 저장하고 계속 사용하려는 목적으로 넘겨준 값이므로 객체 내부에 저장해야 겠지요. 그것을 하기 위해서 생성자 함수 내에서 self.name = name으로 self.name 변수를 선언하고 그 곳에 매개변수로 넘겨받은 name의 값을 저장한 것입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)