[Python] 클래스 사용하기
- Language/Python
- 2020. 10. 16.
클래스는 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)
변수명 앞에 __변수명을 지정하게 되면 외부에서의 접근을 할 수 없게 된다.
그래서 메서드를 이용해서 접근을 하도록 해야 한다.
반응형
'Language > Python' 카테고리의 다른 글
[Python] 클래스 상속하기 (0) | 2020.10.16 |
---|---|
[Python] 클래스 속성과 정적, 클래스 메소드 사용하기 (0) | 2020.10.16 |
[Python] 변수의 사용범위 알아보기 (0) | 2020.10.15 |
[Python] 람다 표현식 사용하기 (0) | 2020.10.15 |
[Python] 함수에서 위치 인수와 키워드 인수 사용하기 (0) | 2020.10.15 |