[Python] 클래스 사용하기

    클래스는 class에 클래스 이름을 지정하고 :(콜론)을 붙인 뒤 다음 줄 부터 def로 메서드를 작성하면 된다.

    여기서 메서드는 클래스 안에 들어있는 함수를 뜻한다.

     

    메서드의 첫 번째 매개변수는 반드시 self를 지정해야 한다.

     

    class Test:
        def test1(self):
        	a = 'hello'

    클래스를 생성하고 test라는 메서드를 만들었다.

    여기서 self는 java의 this와 똑같다.

     

    그러나 self는 생략이 안 되므로, 반드시 작성해야 하는 매개변수이다.

     

     

    클래스 불러오기

    james = 클래스()

    클래스 불러오기는 다음과 같다.

    변수명 = 클래스 이름을 붙인다.

     

    james안에 class가 담기게 된 것이다.

     

     

     

    메서드 호출하기

    james.greeting()

    위의 예제에서 james에 클래스를 담았다.

    그래서 james 클래스 안의 greeting이라는 메소드를 불러오도록 한다.

     

     

     

    클래스를 알아보자

    지금까지 사용한 int(), list()등 모두 클래스 중 하나다.

    클래스는 쉽게 볼 수 도 있고, 쉽게 사용할 수 있다.

    객체 지향언어의 장점이니 만큼 클래스를 몰라서는 안 된다.

     

     

     

    생성자ㅇㅇ

    class Person:
        def __init__(self):
            self.hello = '안녕하세요'
    
    
        def greeting(self):
            print(self.hello)
    
    james = Person()
    james.greeting()
    

    >>> 안녕하세요

     

     

    __init(self)는 파이썬의 생성자다.

    파이썬을 불러올 때 가장 먼저 들리는 메서드다. 그래서 hello안에 '안녕하세요'가 저장 될 수가 있다.

    greeting(self)는 메서드다. 기존 greeting()처럼 james.greeting()로 사용해서 불러올 수가 있다.

     

     

     

    비공개 속성 사용하기

    class Person:
        def __init__(self, name, age, address, wallet):
            self.name = name
            self.age = age
            self.address = address
            self.__wallet = wallet
    
        def pay(self, amount):
            if amount > self.__wallet:
                return
    
            self.__wallet -= amount
            print('이제 {0}원 남았네요.'.format(self.__wallet))
            
    
    maria = Person('마리아', 20, '서울시 서초구 반포동', 10000)
    maria.pay(3000)
    

     변수명 앞에 __변수명을 지정하게 되면 외부에서의 접근을 할 수 없게 된다.

    그래서 메서드를 이용해서 접근을 하도록 해야 한다.

    반응형

    댓글

    Designed by JB FACTORY