[파이썬] 객체(Object), 클래스(class)

목차

  • 객체(Object) 란?
  • 클래스(class) 란?
    • 클래스의 구성 요소
  • 클래스 사용 방법
  • 클래스 예제
    • 매개변수, 인자
    • self

객체(Object) 란?

객체(object)란 세상에 존재하는 사물이나 생명을 의미합니다.
이렇게 말하면 이해하기 어려울 수 있으니 예를 하나 들어 보겠습니다.
하나의 자동차가 존재한다고 가정해 봅시다. 만약 자동차에 바퀴가 없다면 자동차가 이동을 할 수 있을까요? 또 만약 자동차에 핸들이 없다면 자동차를 운전할 수 있을까요? 자동차에 중요한 기능 중에 하나라도 없다면 자동차는 움직일 수 없습니다. 즉 객체(object)는 완전체입니다. 자동차가 모든 기능을 할 수 있을 때 비로소 자동차는 객체(object)가 됩니다.

객체(object)를 구현하기 위해서는 그전에 클래스(class)가 필요합니다

클래스(class) 란?

클래스(class)란 하나의 설계도입니다. 우리는 설계도를 통해서 하나의
데이터(객체)를 구현할 수 있습니다.

클래스의 구성 요소

클래스에는 변수와 메서드가 존재합니다.

변수 -> 속성
메서드 -> 기능

변수는 하나의 속성을 의미하고 그 속성을 통해 메서드 즉 기능을 수행합니다.

클래스 사용 방법

  • 클래스 구성
  1. 클래스는 class 키워드를 사용한다.
  2. 클래스는 UpperCamelCase 규칙을 따른다.
    UpperCamelCase란 각 단어에 첫 번째 문자는 대문자를 사용하고 나머지 단어는 소문자를 표기합니다. 예) MyName, MyCar
class 클래스 명:
    변수 -> 속성
    메서드 -> 기능
    ....

클래스 구성 방법은 먼저 클래스 키워드인 class를 적어주고 그 뒤에 클래스 이름을 정한뒤 콜론(:)을 작성해 주면 됩니다. 그리고 클래스 안에는 변수와 메서드를 작성해 주면 됩니다.

  • 클래스 사용
클래스 변수(클래스를 사용할 변수) = 클래스명() -> 객체 생성

클래스 변수.변수 -> 클래스 안에 변수 사용
클래스 변수.메서드 -> 클래스 안에 메서드 사용

클래스를 사용하기 위해서는 객체를 만들어 줘야 합니다.
그런다음 .변수 또는 .메서드를 이용해서 클래스에 있는 변수나 메서드를 사용할 수 있습니다.

예제) 더하기 클래스

class Calcul:
    def sum(self, num1, num2):
        result = num1 + num2
        print("%d + %d = %d" % (num1, num2, result))


c1 = Calcul()
c1.sum(10, 5)

출력 결과:
10 + 5 = 15

매개변수, 인자

매개변수: 매개변수는 함수나 메서드 정의 부분에 정의된 변수입니다.
예)

def sum(self, num1, num2):  # 매개 변수: self, num1, num2
    ....

인자: 인자는 함수나 메서드에 전달할 값입니다.
예)

def sum(self, num1, num2):  # 매개 변수: self, num1, num2

a = (3, 4)  # 인자: 3, 4 
            # 3 -> num1
            # 4 -> num2

self

위에 예제에서 보게 되면 매개변수는 3개인데 인자 값은 두 개라는 걸 확인할 수 있습니다. 다른 언어에서 이렇게 사용하게 되면 무조건 오류가 발생합니다. 하지만 파이썬에서 self는 객체 메서드를 호출한 객체가 자동으로 전달되기 때문에 매개변수는 세 개이고 인자는 두 개인 것입니다.
밑에 그림을 보시면 쉽게 이해하실 수 있습니다.

예제) 하나의 클래스에 덧셈, 뺄셈, 곱셈, 나눗셈 연산 출력하기


class Calcul:
    def sum(self, num1, num2):
        result = num1 + num2
        print("%d + %d = %d" % (num1, num2, result))
    def sub(self, num1, num2):
        result = num1 - num2
        print("%d - %d = %d" % (num1, num2, result))
    def mul(self, num1, num2):
        result = num1 * num2
        print("%d * %d = %d" % (num1, num2, result))
    def div(self, num1, num2):
        result = num1 / num2
        print("%d / %d = %d" % (num1, num2, result))


c1 = Calcul()

c1.sum(10, 5)
c1.sub(10, 5)
c1.mul(10, 5)
c1.div(10, 5)

출력 결과:
10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2

이상으로 파이썬 객체와 클래스에 대해 알아봤습니다. 잘못된 부분이나 부족한 부분 있다면 피드백 감사하겠습니다!!!

좋은 웹페이지 즐겨찾기