편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.05.22

    파이썬에서 객체 생성과 관련해 생성자(__new__) 질문드려요.


    질문1

    클래스로 객체를 생성할 경우, 클래스에 생성자 함수(__new__)가 없어도 클래스로 객체를 생성할 수 있잖아요. 이때 파이썬 내부적으로는 사용자정의 클래스에 생성자가 없을 경우 최상위 클래스인 object클래스의 __new__ 가 자동으로 실행되어 객체를 생성하고 그 객체를 반환받아 사용자정의 클래스의 객체가 되는 것인가요?

    질문2

    그렇다면 object클래스를 사용자가 임의의 변수 이름으로 사용해서 덮어쓰면(예 object = 1234) 사용자정의 클래스의 객체를 원천적으로 생성할 수 없게 되나요?

    그런데 실제로 해보니 object를 임의의 다른 값으로 덮어써도 사용자 정의 클래스로 객체가 생성되네요.

    클래스와 객체는 공부할수록 헷갈리는 게 많네요.

  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.05.22

    파이썬에서 객체 생성과 관련해 생성자(__new__) 질문드려요^^


    질문1

    클래스로 객체를 생성할 경우, 클래스에 생성자 함수(new)가 없어도 클래스로 객체를 생성할 수 있잖아요. 이때 파이썬 내부적으로는 사용자정의 클래스에 생성자가 없을 경우 최상위 클래스인 object클래스의 new 가 자동으로 실행되어 객체를 생성하고 그 객체를 반환받아 사용자정의 클래스의 객체가 되는 것인가요?

    질문2

    그렇다면 object클래스를 사용자가 임의의 변수 이름으로 사용해서 덮어쓰면(예 object = 1234) 사용자정의 클래스의 객체를 원천적으로 생성할 수 없게 되나요?

    그런데 실제로 해보니 object를 임의의 다른 값으로 덮어써도 사용자 정의 클래스로 객체가 생성되네요.

    클래스와 객체는 공부할수록 헷갈리는 게 많네요. ㅠㅠ