42. 파이썬 – 메서드 수행문

  • 네이버 블로그 공유하기
  • 카카오톡 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기

지난 시간에 이어 계속해서 파이썬 클래스를 이용해서 사칙연산 계산기를 만들어 보겠습니다.

파이썬 클래스

사칙연산 클래스 만들어보기 #3

메서드 수행문

메서드의 또 다른 호출방법

아래처럼 클래스를 통해 메서드를 호출하는 것도 가능은 합니다.
하지만 많이 사용되지는 않는다는 거는 참고하시기 바랍니다.

Python
>>> a = Four_calculator()
>>> Four_calculator.testnumber(a, 4, 2)

위처럼 클래스이름.메서드 형태로 호출을 하게 되면 객체 a 를 첫번재 매개변수 self 에 꼭 전달해 주어야만 합니다.
하지만 아래처럼 객체.메서드 형태로 호출을 하게 되면 self 를 반드시 생략해서 호출을 해주어야만 합니다.

Python
>>> a.Four_calculator()
>>> a.testnumber(4, 2)
testnumber 메서드 수행문

testnumber 메서드의 수행문에 대해 공부해 보겠습니다.

Python
def testnumber(self, first, second): # 함수명(메서드의 매개변수):
    self.first = first               # 메서드의 수행할 문장
    self.second = second             # 메서드의 수행할 문장

testnumber 메서드를 생성을 하고 a.testnumber(4, 2) 로 호출을 하게 되면 testnumber 메서드의 매개변수 first, second 에는 각각 숫자 4와 2 가 대입되어 testnumber 메서드는 다음처럼 수행문을 해석하게 됩니다.

Python
self.first = 4
self.second = 2

이전 포스팅에서 설명했던 self 는 실제로 전달된 a 객체를 의미하므로 다음처럼 해석하게 됩니다.

Python
a.first = 4
a.second = 2
객체변수

a.first = 4 문장이 수행이 되면 a 객체에 객체변수 first 가 생성이 되고 숫자 4 가 대입이 됩니다.
마찬가지로 a.second = 2 문장이 수행이 되면 a 객체에 객체변수 second 가 생성이 되고 숫자 2 가 대입이 됩니다.
여기서 객체변수는 객체만의 변수를 의미합니다.

Python
>>> a = Four_Calculator()
>>> a.testnumber(4, 2)
>>> print(a.first)
4
>>> print(a.second)
2

위 코드를 보면 a 객체에 first 와 second 가 생성이 된 것을 알 수 있습니다.
이번엔 아래처럼 a 와 b 객체를 만들어 보겠습니다.

Python
>>> a = Four_Calculator()
>>> b = Four_Calculator()

그리고 이렇게 만들어진 a 와 b 객체의 객체변수 first 를 아래와 같이 생성을 해보겠습니다.

Python
>>> a.testnumber(4, 2)
>>> print(a.first)
4

a 에 이어 b 객첵의 객체변수 first 도 아래와 같이 생성해 보겠습니다.

Python
>>> b.testnumber(5, 7)
>>> print(b.first)
5

여기서 중요한 점!
위처럼 b 객체의 객체변수 first 에 는 5 라는 숫자가 저장이 된걸 알 수 있습니다.
그럼 a 객체의 first는 어떻게 되어 있을까요?
원래 있던값 4를 유지하고 있을까요?

Python
>>> print(a.first)
4

위 결과를 보시면 아시다시피 a 객체의 first 값은 b 객체의 first 값에 영향을 받지 않습니다.
원래 있던 4 라는 숫자를 가지고 있음을 확인 할 수 있습니다.
이점이 클래스로 만든 객체의 객체변수는 다른 객체의 객체변수에 상관없이 독립적이게 값을 유지 한다는 점입니다.
클래스에서는 이점을 중요하게 여기고 넘어가야 합니다.

이제까지 진행한 내용을 바탕으로 Four_Calculator 클래스를 완성해 보겠습니다.
물론 사칙연산의 모든 기능이 다 포함된 완성본은 아닙니다.

Python
>>> class Four_Calculator:
...     def testnumber(self, first, second):
...         self.first = first
...         self.second = second
...
>>>

이번 포스팅에서 공부한 내용은 위의 코드를 설명하기 위한 것들입니다.
이해가 안간다면 다시 한 번 더 훑어보고 이해를 하고 넘어가야 합니다.
다음 포스팅에서 이어서 파이썬 클래스를 이용해 사칙연산 계산기 만들기에 대해 공부해 보겠습니다.

  • 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
42. 파이썬 - 메서드 수행문

Leave a Comment