클래스: 똑같은 무언가를 계속 만들어 낼수 있는 설계도면 같은 것
객체: 클래스를 통해 만들어내진 결과물
메서드: 클래스 안에 구현된 함수
**객체와 인스턴스의 차이점
클래스로 만든 객체를 '인스턴스'라고도 합니다.
그럼 예를 들어서 a=bread()로 만든 a는 객체입니다. a 객체는 Cookie의 인스턴스 입니다.
이렇게 인스턴스라는 말은 특정객체(a)가 어떤 클래스의 객체인지 관계위주로 설명할 때 사용됩니다.
클래스로 사칙연산을 구현해보도록 하겠습니다
class calculator:
def __init__(self, num1, num2):
self.num1 = num1
self.num2 = num2
print('첫번째숫자: ', num1, '두번째숫자: ',num2)
def add(self):
result=self.num1+self.num2
return result
def sub(self):
result=self.num1-self.num2
return result
def mul(self):
result=self.num1*self.num2
return result
def div(self):
result=self.num1/self.num2
return result
아래와 같이 호출하여 사용가능합니다.
a=calculator(1,2)
a.add()
a.sub()
a.mul()
a.div()
만약 생성자인 __init__메소드를 사용하지 않으면
class calculator:
def setdata(self, num1, num2):
self.num1 = num1
self.num2 = num2
print('첫번째숫자: ', num1, '두번째숫자: ',num2)
def add(self):
result=self.num1+self.num2
return result
def sub(self):
result=self.num1-self.num2
return result
def mul(self):
result=self.num1*self.num2
return result
def div(self):
result=self.num1/self.num2
return result
calculator함수를 호출하고
setdata 메소드를 호출하여 값을 먼저 전달 하여야하는
1줄의 코드가 추가되는 번거로움이 발생합니다
a=calculator()
a.setdata(1,2)
a.add()
a.sub()
a.mul()
a.div()
사진: Unsplash의Matt Hoffman
728x90
반응형
'PYTHON' 카테고리의 다른 글
파이썬 번역기 만들기[PYTHON개발] (0) | 2024.01.23 |
---|---|
파이썬 엑셀 파일로 저장하기[PYTHON개발] (0) | 2024.01.22 |
파이썬 구구단 생성[PYTHON개발] (0) | 2024.01.02 |
리스트에 있는 번호 위치 출력[PYTHON개발] (0) | 2024.01.02 |
문장의 단어 수 카운트하기[PYTHON개발] (0) | 2024.01.02 |