메서드의 종류를 모르면 앞에 글을 먼저 읽고 보세요.
*메서드의 종류 : https://mumala.tistory.com/19
1. 클래스와 객체(인스턴스)의 네임스페이스
: 먼저 클래스와 객체(인스턴스)의 저장공간(네임스페이스, namesapce)에 대해 이해하자
위 그림처럼 객체와 클래스에는 각각 네임스페이스가 있으며 객체가 클래스를 상속받는 구조이다.
즉, 객체를 통해 변수나 함수를 호출하는 경우 다음과 같은 순서로 찾게된다.
1. 객체 (인스턴스) 영역
2. 클래스 영역
3. 전역 영역
2. 메서드의 종류 구분하기
: 위에서 배운 네임스페이스 개념을 통해 메서드의 종류를 구별해보자.
3개의 메서드 모두 객체를 통해 함수를 호출하는 것이 가능하다.
인스턴스 메서드만 불가능하다. 그 이유에 대해 알아보자.
먼저 클래스를 통해 접근했기 때문에 바로 클래스 네임스페이스를 확인한다. 하지만 매개변수가 self (자신 객체를 의미)이기 때문에 객체 내부의 변수들을 호출하는 것이 불가능하다.
이번에는 객체에 있는 값만 바꿔서 객체를 통해 메서드들을 호출한다.
그 이유에 대해 알아보자.
ins_introduce의 매개변수가 self(자신 객체)이기 때문에 self.name인 '뮤말라'를 호출한다.
3. 3개 메서드의 비교 정리표
'언어 > Python' 카테고리의 다른 글
[파이썬 기초] 얕은 복사(Shallow copy)와 깊은 복사(Deep copy) (0) | 2020.04.03 |
---|---|
[파이썬 기초] 리스트 (List) -1 (특성,생성,수정,추가,제거,결합) (0) | 2020.04.03 |
[파이썬 팁] e 없이 소수를 출력하는 방법 (0) | 2020.04.02 |
[파이썬 기초] 모듈 사용하기 (0) | 2020.03.27 |
[파이썬 기초] 상속 (0) | 2020.03.26 |