본문 바로가기
Python

11. 파이썬 - 클래스(class)

by 새싹_v 2022. 9. 13.
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

댓글