주경야매 미국주식

파이썬의 클래스 본문

파이썬

파이썬의 클래스

주경야매 2022. 6. 22. 22:41

함수에 대해 알았다면, 이번에는 클래스를 알아보자.

2022.06.22 - [파이썬] - 파이썬의 함수

클래스 역시 함수처럼 꼭 있어야 하는 것이 아니라 필요에 따라 선택적으로 사용하는 거다.


문법

특정 기능을 위한 코드의 모음을 함수라고 한다면, 함수의 모음을 클래스라고 볼 수 있다. 그래서 클래스 안에는 보통 여러 개의 함수가 들어간다. (코드 < 함수 < 클래스)

클래스 만들기

class 클래스명:

	def 함수1(입력값, ...):
    	함수코드

	def 함수2(입력값, ...):
    	함수코드

 

클래스 사용하기

클래스는 함수의 모음이라 사용법이 다양하다.

클래스 전체를 한꺼번에 실행하려면

클래스명(입력값)

클래스 안에 있는 함수2를 실행하려면

c = 클래스()

c.함수2()

클래스 전체를 c 라는 이름으로 불러오고, c에 들어있는 함수를 호출하면 된다.

어느 분야에서나 마찬가지지만, 개발자라는 집단도 복잡한 용어로 초보들을 혼란에 빠뜨리는데 클래스라는 부분에서 이것은 극에 달한다. 

일부 몰지각한 개발자들은

  • 불러온 클래스는 객체(object, 오브젝트)
  • 클래스 내의 함수는 메서드(method)
  • 클래스 내의 변수는 속성(property, 프로퍼티)

라고 부르며, 엄청난 철학이 들어있는 것 처럼 포장한다. 그리고 객체지향프로그래밍(OOP, Object Oriented Programming) 이라며 뭔가 대단한것처럼 얘기한다. 하지만 결국 코드의 덩어리들을 어떻게 효율적으로 재사용하느냐가 핵심이다.


예제

함수를 공부할 때 썼던 세금과 팁을 계산하는 코드를 클래스에다 넣어봤다.

class Pay:
    def __init__(self, amount):
        self.amount = amount
        self.cal_tax()
        self.cal_tip()
        print(self.amount)

    def cal_tax(self):
        self.amount = self.amount * 1.0888

    def cal_tip(self):
        self.amount = self.amount * 1.15

클래스 전체를 실행하려면,

Pay(100)

> 125.21199999999999

 

클래스 안에 있는 cal_tax() 함수만 실행하려면,

p = Pay(100)

p.cal_tax()

Pay()를 p라는 이름으로 부르고, p에 담긴 cal_tax()를 실행한다.

Comments