관리 메뉴

HeeJ's

[02] __init()__ :: Python 본문

<Programming>/<Python>

[02] __init()__ :: Python

meow00 2020. 11. 19. 21:55

클래스 정의에서 사용되는 메서드

클래스를 초기화하지 않고 클래스 또는 객체의 인스턴스를 초기화한다.

생성자(constructor)라고도 하며, 클래스의 인스턴스가 만들어질 때 한 번만 호출

메서드의 첫 번째 인자(parameter)로 자신의 인스턴스를 나타내는 self를 명시적으로 사용한다.

 

self를 첫 번째 매개변수로 가지며, 클래스 객체를 나타낸다.

객체를 생성할 때 자동으로 호출된다.

 

틀)

class 클래스 명:
	def __init__ (self, 매개변수1, 매개변수2):
    	self.속성1 = 매개변수1
        self.속성2 = 매개변수2

 

ex)

class Car:
	def __init__(self, color, speed):
        self.speed = speed
        
	def speedUp(self,v):
    	self.speed = self.speed + v
        return self.speed
    
    def speedDown(self, v):
    	self.speed = self.speed - v
        return self.speed

여기서, __init__에서 정의한 변수는 class 전체에서 사용 가능하다.

=> 클래스 내부의 모든 메소드에서 접근 가능하다.

self가 없는(__init__에서 정의되지 않은) 변수는 메소드 내에서만 유효하다. (지역변수이다.)