티스토리 뷰

1. 멤버 변수란?

- 클래스 내부에서 정의된 변수

- 객체(인스턴스)의 속성을 저장하는 역할

 

1) 클래스 변수

- 클래스명.변수명으로 선언

- 모든 객체가 공유하는 변수

 

2) 인스턴스 변수

- self.변수명으로 선언

- 각 객체(인스턴스)마다 개별적으로 존재하는 변수

- 즉, 객체마다 다른 값을 가질 수 있음

class Person:
    species = "Human" # 클래스 변수

    def __init__(self, name, age):
        self.name = name  # 인스턴스 변수
        self.age = age    # 인스턴스 변수

p1 = Person("Alice", 25)
p2 = Person("Bob", 30)

print(p1.name, p1.age)  # Alice 25
print(p2.name, p2.age)  # Bob 30

print(p1.species) # Human
print(p2.species) # Human

p1.species = "Alien"
print(p1.species)  # Alien
print(p2.species)  # Human
print(Person.species)  # Human

 

3. 싱글톤 패턴과 동시성 문제

- 여러 개의 작업(코루틴)이 동시에 실행되면 싱글톤 객체가 여러 개 생길 수 있어 싱글톤 패턴이 깨질 수 있다.

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함