코린이_탈출/파이썬 기본 문법

[모각코_파이썬기초문법] 클래스와 생성자

오월&절미 2021. 1. 27. 10:18

> 클래스

계속 찍어내는 틀. 여기서 나온 것이 객체

객체는 고유의 기능과 성격을 가지고 있다.

class 붕어빵:  #클래스 생성
	pass 
    
팥 = 붕어빵()  #팥 객체 생성
슈크림 = 붕어빵()  #슈크림 객체 생성

# 팥은 붕어빵의 인스턴스이다
# 팥은 객체다
class Calculator:
	def setdata(self, first, second):  #self = 객체
		self.first = first
		self.second = second
	def add(self):   # add 메소드
		result = self.first + self.second
		return result

a = Calculator()
a.setdata(6, 3)      
print(a.add())

"""
add 메소드(class안에 함수) 실행 순서

1. result = a.first + a.second ⇒ result = 6 + 3 이렇게 되는겁니다.

2. 덧셈만 하면 될까요? 결과를 알아야죠. 그래서 result라는 변수에 덧셈 결과를 저장해줍니다.

3. 그리고 결과가 담긴 result를 add 메소드가 끝나면 리턴해줍니다!

4. 클래스 밖에서 a.add()를 통해 add 메소드를 불렀습니다 (=호출)

5. add 메소드가 호출됐으니 리턴값 (=result 값)을 돌려줍니다.

6. print(result) ⇒ print(9) ⇒ 9 출력
"""

> 생성자

생성자(Constructor)는 객체가 생성될 때 자동으로 호출되는 메소드

class Calculator:
	def __init__(self, first, second):  ##생성자
		self.first = first
		self.second = second
''' 
	def setdata(self, first, second):
		self.first = first
		self.second = second
'''
	def add(self):   # add 메소드
		result = self.first + self.second
		return result

a = Calculator(6, 3)
## 지우기  a.setdata(6, 3)
print(a.add())