Python의 self 키워드
이 튜토리얼은 파이썬에서self
키워드의 목적과 사용을 설명합니다. 객체 지향 프로그래밍에는 클래스가 있으며 각 클래스에는 다양한 속성과 메서드가 있습니다. 객체 나 클래스의 인스턴스가 생성 될 때마다 생성자 (Python에서는__init__()
메소드)가 호출되어 인스턴스의 속성을 초기화합니다.
클래스의 인스턴스를 생성하는 동안 인스턴스 속성을 인수 및 기타 변수와 구별하거나 지정해야합니다. 그리고 여기에서self
키워드가 필요하여 동일한 이름의 로컬 변수 나 인수가 아닌 인스턴스 속성에 값을 전달하도록 지정합니다.
car
클래스의 경우 color
매개변수를 __init__()
메서드에 전달하여 car
클래스의 color
속성을 초기화하고 인스턴스의 color
속성을 지정한다고 가정합니다. self.color
로, car
클래스에 color
속성이 있고 이 속성에 값을 전달합니다.
마찬가지로car
클래스의self.start()
메소드와 같은self
키워드를 사용하여 클래스의 인스턴스 메소드를 호출 할 수도 있습니다. 간단히 말해서self
키워드를 사용하면 사용자가 클래스 인스턴스의 속성과 메소드를 지정하고 액세스 할 수 있습니다.
Python에서self
키워드의 사용 및 예제 코드
이제 예제 코드를 통해 인스턴스의 메서드와 속성을 지정하기 위해 Python에서self
키워드를 사용하는 방법을 살펴 보겠습니다.
아래의 첫 번째 예제 코드는 초기화되는 인스턴스의 속성을 초기화하기 위해__init__()
메소드에서self
키워드를 사용하는 방법을 보여줍니다. 다음과 같은 방법으로 인스턴스 속성을 초기화 할 수 있도록 초기화하거나 값을 할당하기 전에 변수를 선언하거나 만들 필요가 없습니다.
class car:
def __init__(self, model, color):
self.model = model
self.color = color
mycar = car("model XYZ", "red")
print(mycar.model)
print(mycar.color)
출력:
model XYZ
red
위에서 볼 수 있듯이__init__()
메서드는 클래스의 새 인스턴스를 만들 때 자동으로 호출되고 해당 속성이 초기화됩니다. self
는 인스턴스의 메소드 및 속성에 액세스하기위한 메소드의 매개 변수 여야합니다.
아래 예제 코드는self
키워드를 사용하여 Python의 다른 클래스 메서드 내에서 인스턴스/클래스 메서드를 호출하는 방법을 보여줍니다.
class car:
def __init__(self, model, color):
self.model = model
self.color = color
self.start()
def start(self):
print(self.model + ", has started!")
mycar = car("model XYZ", "red")
출력:
model XYZ, has started!
위의 예제 코드에서와 같이self
키워드를 사용하여 클래스 메서드를 호출하고 클래스의 인스턴스를self
매개 변수로 전달하여 모든 클래스 메서드의 속성에 액세스 할 수 있습니다.