Search

self와 비공개 속성

대분류
언어
소분류
Python
유형
__init__
self
비공개 속성
최종 편집 일시
2024/10/27 15:36
생성 일시
2024/07/08 05:18
15 more properties

__init__

인스턴스를 만들 때 호출되는 메서드
인스턴스를 초기화하는 메서드 = 생성자
객체가 생성될 때 자동으로 호출
self, 매개변수를 이용해 인스턴스 속성을 초기화
class Person: def __init__(self): self.name = '홍길동' def greeting(self): print(f'{self.name}입니다. 반가워요.') james = Person() james.greeting()
Python
복사

self

python에서 self는 인스턴스 자기 자신을 의미
클래스 내부에서 메서드를 호출할 때 호출한 인스턴스 자기 자신을 전달
메서드의 첫 번째 매개변수는 호출한 인스턴스 자기 자신을 전달받는 매개변수
self는 관례적으로 사용되는 이름이며 다른 이름을 사용해도 무방
self를 사용하는 이유는 클래스의 메서드에서 클래스의 속성에 접근하기 위함
self를 사용하지 않으면
클래스의 속성에 접근할 수 없음
메서드는 인스턴스 속성에 접근할 수 없음
메서드는 클래스 속성에 접근할 수 없음
메서드는 다른 메서드를 호출할 수 없음

비공개 속성

class Person2: def __init__(self, name, age, address, wallet): self.name = name self.age = age self.address = address self.__wallet = wallet # 변수 앞에 __를 붙여서 비공개 속성으로 만듦 # 클래스 내부의 메서드에만 접근 가능 john = Person2('John', 34, 'Seoul', 10000) john.__wallet -= 10000 # 클래스 외부에서 비공개 속성에 접근하면 에러 발생 # 내부에서만 접근 가능
Python
복사