Class란 ?
- 과자 틀 → 클래스 (class)
- 과자 틀에 의해서 만들어진 과자 → 객체 (object)
여기에서 설명할 클래스는 과자 틀과 비슷하다. 클래스(class)란 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계 도면이고(과자 틀), 객체(object)란 클래스로 만든 피조물(과자 틀을 사용해 만든 과자)을 뜻한다.
클래스로 만든 객체에는 중요한 특징이 있다. 바로 객체마다 고유한 성격을 가진다는 것이다. 과자 틀로 만든 과자에 구멍을 뚫거나 조금 베어 먹더라도 다른 과자에는 아무 영향이 없는 것과 마찬가지로 동일한 클래스로 만든 객체들은 서로 전혀 영향을 주지 않는다.
Class 구조 알아보기
class Person:
def __init__(self, name):
self.name = name
self.age = age
def PrintName(self):
print('hello my name is %s' %self.name)
p1.= person('john', 36)
p1.name
p1.age
p1.PrintName()
파이썬 method의 첫 번째 매개변수 이름은 관례적으로 self를 사용한다. 객체를 호출할 때 호출한 객체 자신이 전달되기 때문에 self를 사용한 것이다. 물론 self말고 다른 이름을 사용해도 상관없다.
method의 첫 번째 매개변수 self를 명시적으로 구현하는 것은 파이썬만의 독특한 특징이다. 예를 들어 자바 같은 언어는 첫 번째 매개변수 self가 필요없다.
<다른 예시>
class Person:
def __init__(self, name):
self.name = name
def speak(self):
print('Hello')
def run(self):
print('Run fast!')
class Runner(Person):
def run(self):
print('Run SUPER fast')
r = Runner('Lee')
r.run()
r.speak()
p = Person ('Lee')
p.run()
p.speak()
'Python(with Anaconda)' 카테고리의 다른 글
[Python] secrets, string module 이용한 패스워드 생성 프로그램 만들기 (with random) (2) | 2022.10.27 |
---|---|
[Python] 파이썬으로 택시 미터기 요금 계산 프로그램 만들어보기(주행 거리에 따른) (2) | 2022.10.26 |
[Python] Lambda (람다함수), Module에 대하여 (0) | 2022.10.26 |
[Python] 서울 신림선 운행 소요시간 계산 프로그램 만들기 (2) | 2022.10.25 |
[Python] Function (0) | 2022.10.25 |
댓글