TIL(25.1.2)

채채·2025년 1월 2일

Today I Learned

목록 보기
48/75

2025년의 첫 TIL (베이직반 수업 - OOP )

class

(사실 더이상 잊지않기위한 복습,,,)

기초개념

class는 붕어빵 틀이고 instance는 붕어빵 !
class를 가지고 여러개의 instance를 찍어낼 수 있음.
각각의 instance는 독립적임.

예를 들어

1, 2, 3 번의 붕어빵이 있다고 했을 때 ,
3개는 모두 같은 붕어빵 틀에서 나왔지만,
1은 팥붕
2는 슈붕
3는 피붕
일 수 있음.
1에 팥을 넣는다고 2에도 팥이 들어가지 않는거 처럼 서로서로 독립된 instance로 볼 수 있음.

기본 형식

class Bungeoppang :
	 pass
     
redbean = Bungeoppang()
custard = Bungeoppang()
pizza = Bungeoppang()

여기서 redbean, custard, pizza는 Bungeoppang 클래스의 인스턴스!

class ungeoppang : pass 라고 작성하여도
우리의 파이썬은 기본으로 __init__을 만들어줌.



속성과 매서드를 추가한 붕어빵 클래스.

붕어빵 틀(클래스)를 가지고 붕어빵을 마음껏 찍어낼 수 있게됨.

class Bungeoppang :
    def __init__ (self, taste, num) :
        self.taste = taste
        self.num = num

    def tastes (self) :
        return print(f'{self.taste} 붕어빵입니다')
    
    def price(self) :
        print(f'{self.taste}붕어빵 {self.num}마리는 총 {self.num*500}원 입니다')

redbean = Bungeoppang('팥',3)
custard = Bungeoppang('슈크림',2)
pizza = Bungeoppang('피자',5)

redbean.tastes()
custard.tastes()
pizza.tastes()

redbean.price()
custard.price()
pizza.price()

__init__을 매직메서드라고 부르는데
매직매서드는 종류가 여러가지가 있음.

주요 매직 메서드와 용도

  1. 초기화와 객체 생성
    __init__(self, ...): 객체 초기화를 담당합니다. 클래스 인스턴스가 생성될 때 호출.
  2. 문자열 표현
    __str__(self): print() 함수나 str() 호출 시 반환할 문자열을 정의.
    등등,,,
    비교연산, 사칙연산 등 다양한 매직메서드가 있음.
    다양한 메서드는 공식문서에서 확인 할 것.
profile
화이팅

0개의 댓글