클래스에서 self를 사용하는 이유는 인스턴스 객체(즉, 클래스의 각 객체)가 자신의 속성(attribute)과 메서드(method)에 접근할 수 있도록 하기 위함입니다.
1. 인스턴스 변수와 메서드에 접근
- self는 인스턴스 자신을 가리키는 참조입니다. 즉, 클래스의 인스턴스를 만들 때 자동으로 전달되는 첫 번째 인자입니다.
- 클래스를 정의할 때 메서드 내에서 self를 사용하면, 메서드가 호출되는 인스턴스의 속성과 다른 메서드에 접근할 수 있습니다.
2. 클래스와 인스턴스 구분
- self는 인스턴스 속성에 접근할 때 사용되며, 해당 속성은 클래스 레벨이 아닌 특정 객체에 고유하게 존재합니다.
- 클래스에서 메서드를 호출할 때, 메서드의 첫 번째 인자(일반적으로 self)로 호출되는 객체가 자동으로 전달됩니다.
예시:
- __init__ 메서드에서 self.value = value는 인스턴스의 value 속성을 설정하는 코드입니다. self는 obj 객체를 참조하며, obj.value는 10으로 설정됩니다.
- show_value 메서드에서 self.value는 해당 객체의 value 값을 출력합니다.
3. 클래스 내부에서 인스턴스 속성 사용
- self를 통해, 각 객체가 고유한 상태를 가질 수 있습니다. 여러 객체가 같은 클래스를 사용하더라도 각 객체는 self를 통해 개별적인 속성을 가질 수 있습니다.
요약:
- self는 클래스 내에서 인스턴스의 속성이나 메서드를 참조하는 데 사용됩니다. 객체마다 독립적인 속성과 메서드를 갖도록 해 주며, 각 객체가 고유한 상태를 유지하도록 합니다.
- self는 클래스의 **인스턴스(객체)**에 대해 작업할 수 있도록 돕는 중요한 역할을 합니다.
'컴퓨터이야기' 카테고리의 다른 글
DTM (0) | 2023.12.20 |
---|---|
메타학습 (0) | 2023.12.20 |
파이썬에서 정규식을 지원하는 라이브러리 re (0) | 2023.12.11 |
pytorch 설치하기 (0) | 2023.12.11 |
CUDA 설치하기 (1) | 2023.12.05 |