study gomi

[Python|파이썬] 기본 문법 - 클래스 기본 본문

basic/python

[Python|파이썬] 기본 문법 - 클래스 기본

공부하곰 2024. 1. 6. 10:30
728x90
반응형

(참고 : 코드 완벽하지 않음 - 생략된 부분들 있음)

 

클래스

- 똑같은 무언가를 계속 만들어 낼 수 있는 설계서이다 => 한 번만 정의해두면 계속 많이 만들어낼 수 있음.

- 만들어낸 무언가는 객체(object)라고 한다.

- 여러 변수들을 묶어서 한 번에 관리할 수 있음

- 기능을 (여러 개) 정의할 수도 있음.

- 구현을 잠시 미룰 때는 pass 키워드를 사용.

# 클래스 명은 대문자로 시작
class CakeFrame:
	# 구현해야 하는 부분을 잠시 미뤄두기 위해서 사용(pass)
	pass

 

객체

- 객체마다 고유한 성격을 가진다.

- 클래스로 만들어낸 객체는 인스턴스라고 표현한다.

- 콕 집어서 부를 때는 객체, 클래스와 함께 부를 때는 00클래스의 인스턴스라고 표현.

- 객체 자기 자신을 self라고 한다(객체 자기 자신을 호출할 때 사용하면 됨)

class CakeFrame:
	pass

# cake1 이라는 객체 생성
cake1 = CakeFrame()

# cake1 객체의 name이라는 변수 선언 
cake1.ingredient = 'basic'

print(cake.ingredient)

# cake1 객체가 CakeFrame의 인스턴스가 맞는지 확인?
# 결과는 True/False
print(isinstance(cake1, CakeFrame))

 

메소드

- 클래스 내에 선언되는 함수

- 기능의 영역

- 전달 받는 값이 없으면 매개변수에 self를 적어줌 (메소드를 정의할 때 처음 전달값은 반드시 self)

- 메소드 내에서는 self.변수 와 같은 형태로 멤버변수를 사용

class CakeFrame:
	# 전달 받는 값이 하나도 없음.
	def add_whip_cream(self):
    	print('휘핑 크림 추가')
    
    # 전달 받는 값이 있으면 self 뒤에 추가
    def add_color_cream(self, color):
    	print(color + '크림 추가')
        
    # self 사용
    def set_baking_mode(self, min):
    	print(f'{self.name} {min}분 동안 굽기 모드')
        
cake1 = CakeFrame()
cake1.add_whip_cream()

cake1.add_color_cream('보라색')

 

생성자(constructor)

- 객체가 생성될 때 자동으로 호출되는 메소드를 의미

__init__ 함수를 사용 : 메서드의 이름을 __init__을 사용하면 알아서 생성자로 인식 됨.

- 객체를 만들 때 변수들을 초기화 해주는 역할을 함.

class CakeFrame:
	# init 앞 뒤로 (_)표시 2개씩
    # 괄호 속에 필요한 변수들을 적어줌 (self, first, second) 
	def __init__(self, ingredient, price):
    	# ingredient와 price는 멤버변수라고 한다.
    	self.ingredient = ingredient
        self.price = price
        
cake1 = CakeFrame('strawberry', 30000)
print(cake1.ingredient, cake1.price)

cake2 = CakeFrame('chocolate', 20000)
print(cake2.ingredient, cake2.price)

 

 

728x90
반응형