반응형
파이썬에서 class 클래스명:
을 통해 클래스를 생성할 수 있는데
일단 클래스를 왜 쓰냐면
똑같은 계산식을 여러번 사용하는 경우
클래스 안에 함수(function)을 만들어 두고
매번 똑같은 계산식을 만들 필요 없이
클래스 안에서 함수를 가져와 사용하는 식으로 사용할 수 있다
똑같은 걸 여러번 만들어 사용하지 않고
한번 만들어 놓으면 그걸 그대로 가져다 쓰는 식으로
사용할 수 있다는 것!
위 예제는 클래스 안에 메소드를 만들어서 사용하는 예제인데
먼저 ClassExample 클래스 안에 __init__와 ten_year_call 메소드를 만들었는데
__init__은 생성자로 객체화 시에 자동으로 수행된다
생성자에 대한 내용은 아래 글을 참조하고
클래스에서 만든 메소드를 사용하는 방법은
변수명 = 클래스명()
으로 객체화를 해 줄 수 있는데
객체화란?
해당 클래스의 정보를 변수 안에 넣어서
변수를 가지고 해당 클래스를 사용할 수 있다는 얘기!
예제를 보면
a = ClassExample()
을 해주면 a.~로
ClassExample의 내용을 자유롭게 가져다 쓸 수 있다
a.age로 a의 age값을 가져오거나
ClassExample에 있는 ten_year_method를 a.ten_year_call을 사용하는 등..
예제에 사용한 코드는 다음과 같다
class ClassExample:
def __init__(self, name, age): # 생성자(Constructor) 생성 시 자동 수행
self.name = name
self.age = age + 5 # 변수 생성 후 파라미터로 보낸 값 할당
print("[생성자] self와 변수 비교 " + str(self.age) + " age : " + str(age))
print("[생성자] 이름 : " + self.name + " 나이 : " + str(self.age))
def ten_year_call(self, val): # 함수
return self.age + 10 # 반환
a = ClassExample("철수", 20) # 객체화 (ClassExample의 정보를 a에 담음)
print(a.age) # a의 age 출력
print(a.ten_year_call(50)) # a의 ten_year_call 메소드 수행
반응형
'Language > Python' 카테고리의 다른 글
파이썬 생성자(__init__) 개념 및 예제 (0) | 2020.01.27 |
---|---|
파이썬 self는 무슨 의미? (0) | 2020.01.27 |
파이썬 self를 넣은 함수와 넣지 않은 함수의 차이 (0) | 2020.01.19 |
파이썬 딕셔너리(Dictionary) 사용법 정리 (0) | 2020.01.14 |
파이썬 튜플(Tuple) 사용법 정리 (0) | 2020.01.14 |
댓글