인프런 커뮤니티 질문&답변

안수균님의 프로필 이미지

작성한 질문수

타입 파이썬! 올바른 class 사용법과 객체지향 프로그래밍

클래스 변수 관련 질문입니다.

21.12.29 10:42 작성

·

217

1

클래스 변수가 클래스 내부에서 정의되는 변수이고,
클래스 이름 뿐만 아니라 인스턴스 이름으로도 접근할 수 있다는 것을 이해했습니다.
 
하지만 클래스 변수가 어느 시점에 정의되는지 명확하게 이해하지 못했습니다.
인스턴스를 정의할때마다 클래스 변수가 재정의되면, 클래스 변수가 계속해서 초기화되는 것이므로 아닌 것 같고,
클래스 코드가 처음 실행될때 클래스 변수도 같이 정의되는 건가요?
추가적으로 클래스 내부에서 클래스 변수가 정의된 다음 다시 불러올 때 "클래스명.클래스변수"로 사용하던데,
왜 클래스 내부에서도 클래스 변수를 사용할 때 그냥 클래스변수 이름으로는 부르지 못하는 건가요?

답변 1

0

윤상석님의 프로필 이미지
윤상석
지식공유자

2021. 12. 30. 01:51

안녕하세요!

좋은 질문입니다.

1. 클래스 코드가 처음 실행될때 클래스 변수도 같이 정의되고 최초 한 번 초기화되는 것입니다.

2. 아래 코드처럼 클래스 내부에서도 사용가능합니다. 

class Hello:
hello = "hello"

def __init__(self):
print(self.hello) # hello 출력
print(Hello.hello) # hello 출력

Hello()