728x90
클래스(class)
📌
반복되는 변수 & 메소드(함수)를 미리 정해놓은 틀(설계도)
선언 후 바로 사용하는 함수와 다르게 클래스는 인스턴스를 생성하여 사용한다.
class 내부에 선언되는 메소드는 기본적으로 self 인자를 가지고 있다.
self는 클래스 내에서 전역 변수와 같이 사용된다.
객체.메소드 형태로 호출할 때는 self를 반드시 생략해서 호출한다.
👉 용어 정리
- 인스턴스(instance) : class를 사용해 생성된 객체
- 메소드(method) : 메소드란 클래스 내에 선언된 함수, 클래스 함수라고도
- self : 메소드를 선언할 때에는 항상 첫 번째 인자로 self를 넣어줘야 한다.
- 클래스(class) : 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계 도면 (과자 틀)
- 객체(object) : 클래스로 만든 피조물(과자 틀을 사용해 만든 과자)을 뜻함
class Fourcal:
def setdata(self, first, second): #메소드의 매개변수
self.first = first #메소드의 수행문
self.second = second #메소드의 수행문
a = Fourcal() # a:설계도로 만든 과자(객체)
a.setdata(4, 2)
print(a.first) # a가 갖고있는 first 변수 출력
print(a.second) # a가 갖고있는 second 변수 출력
# 4
# 2
__init__함수
생성자(constructor) : 객체가 생성될 때 자동으로 호출되는 메소드를 위미
__init__메소드는 setdata메소드와 이름만 다르고 모든 게 동일하다.
단, 메소드 이름을 __init__으로 했기 때문에 생성자로 인식되어
객체가 생성되는 시점에 자동으로 호출된다.
# 도형 넓이 계산기
class Shape:
def __init__(self, width, height):
self.width = width
self.height = height
def square(self):
result = self.width * self.height
return result
def triangle(self):
result = self.width * self.height / 2
return result
def circle(self):
result = (self.width/2) ** 2 * 3.14
return result
figure_width_height = Shape(10, 10)
print(figure_width_height.square()) # 100
print(figure_width_height.triangle()) # 50
print(figure_width_height.circle()) # 78.5
위에 글 내용은 오류 사항이 존재할 수 있습니다!
수정 사항이 있을 시 알려주시면 감사하겠습니다.
728x90
'Python' 카테고리의 다른 글
13. 파이썬 - try/ exception (0) | 2022.09.14 |
---|---|
12. 파이썬 - mutable자료형, immutable자료형 (0) | 2022.09.13 |
10. 파이썬 - 자주 사용되는 모듈 및 패턴 (1) | 2022.09.13 |
9. 파이썬 - 반복문 for, while (0) | 2022.09.08 |
8. 파이썬 - 조건문 if (0) | 2022.09.06 |
댓글