-
인스턴스 메소드Language/Python 2021. 9. 8. 03:37
앞서 클래스와 인스턴스 설명했던 부분을 참고하자면
class User(): def greet(some_user): print("Hello, {}!".format(some_user.name))
이렇게 지금 클래스 안에 def를 주고 그 안에 some_user 라고 파라미터 값을 받는다.
그리고 name 이라고 하는 인스턴스 변수를 사용하기 때문에 def greet(some_user)는 인스턴스 메소드가 된다.
class User(): def greet(some_user): print("Hello, {}!".format(some_user.name)) user1 = User() user2 = User() user1.name = "조원영" user1.email = "cliff4532@daum.net" user1.pwd = "123456" user2.name = "조말론" user2.email = "malone@daum.net" user2.pwd = "789012" User.greet(user1) user1.greet()
User 클래스에 def 선언해줬으니까 코드 맨 밑줄에 User.greet(user1)을 통해 user1의 이름을 가져온다.
클래스 이름.인스턴스(메소드 이름)
이렇게 되면 greet에 선언한 파라미터 값을 호출하여 그에 해당되는 결과값을 불러오게 되는 것이다.
User.greet(user1) user1.greet()
위에 호출한 코드를 보면 이 둘은 호출하는 바가 같기 때문에 어느 하나를 쓰던 상관없다.