IT is Smart

파이썬 Class 초기화하기, Initialize a class 본문

Programming/Python Basic

파이썬 Class 초기화하기, Initialize a class

달인최선 2016. 9. 10. 14:55
반응형


파이썬 Class 구현하기 다시 보기


이번에는 Class를 초기화하는 좀더 고급진 방법을 알아보겠습니다.

class Enemy:
    def __init__(self, x):
        self.energy = x
    
    def get_energy(self):
        print(self.energy)

jason = Enemy(5)
sandy = Enemy(18)

jason.get_energy()
sandy.get_energy()

Class를 선언할 때 변수를 선언하고 변수값을 지정하는 것으로 초기화하는 방법과 함께 __init__() 메소드를 선언해서 사용하는 방법이 있습니다. __init__() 메소드는 별도로 호출을 하지 않아도 Class의 Instance가 생성이 되는 순간 자동으로 실행됩니다. 해당 Instance를 초기화하기 위한 목적으로 만들어진 것이죠.


__init__() 메소드를 선언하는 방법은 다음과 같습니다.


메소드 명을 선언하는 부분은 다른 메소드와 동일하고 전달인자 부분을 적절히 선언해줘야 합니다.

다른 Class의 메소드와 같이 첫번째 인자는 'self'로 정의해야 하고, 다음에는 외부에서 Class내부로 전달하고자 하는 변수를 추가하면 됩니다. 

여기서 선언한 인자를 메소드 내부에서 Class 내부의 변수에 대입을 해주면 내부의 다른 메소드에서 그 값을 이용할 수 있게 됩니다.


이렇게 클래스의 인스턴스가 생성되는 순간 자동으로 실행되는 메소드는 다른 언어에도 볼 수 있는데 보통 '생성자'라고 부르는 것이 그것입니다.


이것으로 __init__() 메소드를 사용해서 초기화 하는 방법에 대한 설명을 마치겠습니다.


--------------------
Source Code from thenewboston Tutorials
좋은 코드는 볼수록 Insight를 주고, 반복할수록 내 것과 같이 된다.



반응형