40. 파이썬 – 클래스와 객체(class and object)

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

파이썬 클래스

클래스와 객체(class and object)

아래는 클래스를 가장 잘 설명해 주는 그림이라고 합니다.

40. 파이썬 - 클래스와 객체

위 그림은 과자를 만드는 과자 틀과 그 과자 틀을 사용해 만든 과자 들입니다.

  • 클래스(class) -> 과자틀
  • 객체(object) -> 과자틀로 만들어 낸 과자들

클래스는 과자틀과 비슷하다고 보시면 됩니다.
똑같은 무언가를 계속해서 만들어 내는 설계 도면이라 보시면 되고(과자틀)
객체는 클래스로 만들어낸 피조물을 의미합니다(과자틀로 만들어 낸 과자들)

클래스(class)의 중요한 특징

클래스의 중요한 특징은 객체마다 고유한 성격을 가진다는 것입니다.
과자틀로 만들어 낸 과자들에 구멍을 내거나 조금 먹는다고 해서 다른 과자들에게 영향을 끼치지 않는 것과 마찬가지로 같은 클래스로 만들어진 객체라고 하더라도 서로 영향을 끼치지 않습니다.

클래스의 간단한 예

아래 코드는 클래스의 가장 간단한 예입니다.

Python
>>> class Snaks:
>>>     pass

위 클래스는 아무런 기능도 하지 않습니다.
그렇다고 하더라도 이런 무기능 클래스도 객체를 생성하는 기능은 가지고 있습니다.
아래는 Snaks 라는 클래스의 객체를 만드는 방법입니다.

Python
>>> a = Snaks()
>>> b = Snaks()

Snaks() 의 결과값을 리턴받은 a 와 b 가 바로 객체(object)입니다.
함수를 사용해서 결과값을 리턴받는 경우와 비슷합니다.

객체와 인스턴스의 차이

클래스로 만든 객체를 인스턴스 라고도 합니다.
객체와 인스턴스에는 차이가 있습니다.
a = Snaks() 라고 만든다면 a 는 객체가 됩니다.
그리고 a 객체는 Snaks 의 인스턴스가 됩니다.
즉 인스턴스라는 말은 어떤 개체(a)가 어떤 클래스(Snaks) 의 객체인지를 관계 위주로 설명할 때 사용됩니다.
a 는 인스턴스 보다 a 는 객체라고 표현하며
a 는 Snaks 의 객체 보다 a 는 Snaks 의 인스턴스 라고 표현합니다.

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

이제 클래스를 직접 만들어 보면 공부를 해 보겠습니다.
먼저 사칙연산을 수행해 주는 클래스를 만들어 보겠습니다.
사칙연산이 더하기, 빼기, 곱하기, 나누기 인건 다들 아시겠죠?

클래스를 어떻게 만들지 먼저 구상

클래스를 무조건 만들기 보다는 클래스로 만들 객체를 중점으로 어떻게 동작시킬 컷인지 먼저 구상을 하고 난 뒤에 이렇게 구상한 것들을 하나 하나 해결해 나가면서 완성하는게 좋습니다.
사칙연산을 가능하게 하는 Four_Calculator 가 동작하는 과정을 상기해 봅니다

우선 a = Four_Calculator() 로 a 라는 객체를 만들어 봅니다

Python
>>> a = Four_Calculator()

그 뒤로 a.testnumber(4, 2) 처럼 입력을 하고 입력된 숫자 4와 2를 a 에 지정해 줍니다

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

다음 a.add() 라고 수행을 하면 입력된 두 수 4와 2를 더한 결과 4 + 2 를 리턴을 합니다

Python
>>> print(a.add())
6

만일 a.mul() 을 수행을 하면 입력된 두 수 4와 2를 곱한 결과 4 * 2 를 리턴을 합니다

Python
>>> print(a.mul())
8

그리고 또 a.sub() 를 만나면 입력된 두 수 4와 2를 뺀 결과인 4 – 2 를 리턴을 합니다.

Python
>>> print(a.sub())
2

마지막으로 a.div() 를 만나게 되면 입력된 두 수 4와 2에서 나누기를 한 결과 4 / 2 를 리턴을 합니다

Python
>>> print(a.div())
2

이런 동작들을 하게 만드는 것이 이제부터 만들 Four_Calculator 입니다

이번 포스팅에서는 파이썬 클래스와 객체에 대해 클래스의 특징과 객체와 인스턴스의 차이에 대해 알아봤습니다.
다음 포스팅에 사칙연산을 하는 클래스 Four_Calculator 에 대해 이어서 공부해 보겠습니다

  • 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
40. 파이썬 - 클래스와 객체(class and object)

Leave a Comment