class Cls1 :
    def __init__(self, val1):
        self.val1 = val1

    def get_number(self):
        print(self.val1)


# 객체가 생성될 떄 그 객체의 초기 상태를 설정.
ins1 = Cls1(10)
ins1.get_number()
class Cls1:
    gval1 = 1234

    def __init__(self, val1, val2):
        self._val1 = val1
        self._val2 = val2
        print("init")
        super().__init__()

    def __new__(cls, val1, val2):
        print(val1, val2)
        print("new")
        return super().__new__(cls)

    def get_global_val(self):
        print(self.gval1)
        self.gval1 -= 5


ins1 = Cls1(1, 3)
ins2 = Cls1(1, 3)
ins3 = Cls1(1, 3)

ins1.get_global_val()
ins2.get_global_val()
ins3.get_global_val()


# 1 3  -> init으로 메모리 공간 생성
# new  -> 인스턴스가 만들어지고 난 후에 생성됨. ; self에 new에 접근을 못함.
# init

'Dev_Python' 카테고리의 다른 글

[Python] property 예제  (0) 2023.09.21
[Python] del 예제  (0) 2023.09.21
[Python] 클래스 - 접근제어 예제  (0) 2023.09.21
[Python] 클래스 - self  (0) 2023.09.21
[Python] 클래스 예제  (0) 2023.09.21
계속 까먹네;