1 개념
- Object-Oriented Programming (OOP)
- 객체지향 프로그래밍
- 객체 생성은 키워드 class를 사용
2 객체 생성
class
키워드를 사용하여 Person라는 객체 틀을 만듬- Person라는 객체 생성 틀을 가지고 JOHN, JMNOTE를 각각 생성함
Python
Copy
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
def print_name(self):
print self.name
def print_age(self):
print self.age
JOHN = Person('john', 30)
JMNOTE = Person('jmnote', 20)
JOHN.print_name() # john
JOHN.print_age() # 30
JMNOTE.print_name() # jmnote
JMNOTE.print_age() # 20
- →__init__와 print_name의 self는 자기 자신을 말함
- print_name를 살펴보면, JOHN.print_name()이 실행 될 때 self는 JOHN, JMNOTE.print_name()이 실행 될 때 self는 JMNOTE가 됨
3 상속
- 상속은 하나의 클래스에서 또 다른 클래스의 정의를 그대로 상속하여 가져옴
Python
Copy
class person:
def __init__(self, name, age):
self.name = name
self.age = age
def print_name(self):
print(self.name)
class programmer(person): # person 객체 상속
def printJob(self):
print('programmer')
class editor(person): # person 객체 상속
def printJob(self):
print('editor')
jmnote = programmer('jmnote', 20)
jmnote.print_name() #jmnote
jmnote.printJob() #programmer
john = editor('john', 30)
john.print_name() #john
john.printJob() #editor:
- → programmer와 editor 클래스에서 person 이라는 슈퍼클래스를 상속하였음
4 객체 스타일
- Python3
- New-style
Python
Copy
class Person(object)
- → 명시적으로 object
- New-style
Python
Copy
class Person:
- → object를 명시하지 않았지만 object는 자동 상속됨
- Python2
- New-style
Python
Copy
class Person(object)
→ python2에서 New-style로 class를 정의 하려면 명시적으로 object를 상속해 주어야함
- Old-style
Python
Copy
class Person:
- → python2에서 명시적으로 object를 상속해 주지 않을 경우 Old-style 클래스로 정의됨
5 참고
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.