1 개념[ | ]
- Object-Oriented Programming (OOP)
- 객체지향 프로그래밍
- 객체 생성은 키워드 class를 사용
2 객체 생성[ | ]
class
키워드를 사용하여 Person라는 클래스(객체 생성 틀)을 만든다.- Person 클래스을 가지고 john, jane 객체를 각각 생성하였다.
Python
CPU
0.0s
MEM
8M
0.1s
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 Smith', 30)
jane = Person('Jane Doe', 20)
john.print_name() # John Smith
john.print_age() # 30
jane.print_name() # Jane Doe
jane.print_age() # 20
John Smith 30 Jane Doe 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 print_job(self):
print('Programmer')
class Editor(Person): # Person 클래스 상속
def print_job(self):
print('Editor')
jane = Programmer('Jane Doe', 20)
jane.print_name() # Jane Doe
jane.print_job() # Programmer
john = Editor('John Smith', 30)
john.print_name() # John Smith
john.print_job() # Editor
Loading
- → Programmer와 Editor 클래스에서 Person 클래스를 상속하였음
4 객체 스타일[ | ]
새 형식
Python
Copy
class Person(object):
- → object 명시
예전 형식
Python
Copy
class Person:
- → object를 명시하지 않았지만 object는 자동 상속됨
5 참고[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.
- 분류 댓글:
- Python (25)
리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― Jmnote리눅스 Python 2.7 컴파일 설치 ― ㅇㅇㅇ미운코딩새끼 ― 승호 도령미운코딩새끼 ― 불탄고등어미운코딩새끼 ― 김레이미운코딩새끼 ― 호박이미운코딩새끼 ― Junhg0211미운코딩새끼 ― 김왼손미운코딩새끼 ― 용딘이미운코딩새끼 ― Pinkcrimson유기농냠냠파이썬 ― 호박유기농냠냠파이썬 ― 이에스유기농냠냠파이썬 ― 이승현파이썬 global ― Jmnote파이썬 global ― John Jeong파이썬 global ― Jmnote파이썬 global ― John Jeong파이썬 global ― John Jeong파이썬 global ― John Jeong파이썬 global ― Jmnote파이썬 global ― John Jeong