잔글 (Jmnote님이 파이썬 객체지향 프로그래밍 문서를 파이썬 OOP 문서로 이동했습니다) |
Jmnote bot (토론 | 기여) 잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight)) |
||
(다른 사용자 한 명의 중간 판 9개는 보이지 않습니다) | |||
5번째 줄: | 5번째 줄: | ||
==객체 생성== | ==객체 생성== | ||
*<code>class</code>키워드를 사용하여 Person라는 객체 | * <code>class</code>키워드를 사용하여 Person라는 클래스(객체 생성 틀)을 만든다. | ||
* | * Person 클래스을 가지고 john, jane 객체를 각각 생성하였다. | ||
< | <syntaxhighlight lang="python" run> | ||
class Person(object): | class Person(object): | ||
def __init__(self, name, age): | def __init__(self, name, age): | ||
14번째 줄: | 14번째 줄: | ||
def print_name(self): | def print_name(self): | ||
print self.name | print( self.name ) | ||
def print_age(self): | def print_age(self): | ||
print self.age | 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 | |||
</syntaxhighlight> | |||
</ | |||
:→__init__와 print_name의 self는 자기 자신을 말함 | :→__init__와 print_name의 self는 자기 자신을 말함 | ||
34번째 줄: | 33번째 줄: | ||
==상속== | ==상속== | ||
* 상속은 하나의 클래스에서 또 다른 클래스의 정의를 그대로 상속하여 가져옴 | * 상속은 하나의 클래스에서 또 다른 클래스의 정의를 그대로 상속하여 가져옴 | ||
< | <syntaxhighlight lang="python" run> | ||
class | class Person: | ||
def __init__(self, name, age): | def __init__(self, name, age): | ||
self.name = name | self.name = name | ||
41번째 줄: | 40번째 줄: | ||
def print_name(self): | def print_name(self): | ||
print(self.name) | print( self.name ) | ||
class Programmer(Person): # Person 클래스 상속 | |||
def print_job(self): | |||
print('Programmer') | |||
class | class Editor(Person): # Person 클래스 상속 | ||
def | def print_job(self): | ||
print(' | 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 | |||
john = | </syntaxhighlight> | ||
john.print_name() # | :→ Programmer와 Editor 클래스에서 Person 클래스를 상속하였음 | ||
john. | |||
</ | |||
:→ | |||
==객체 스타일== | ==객체 스타일== | ||
{{소스헤더|새 형식}} | |||
<syntaxhighlight lang='python'> | |||
< | class Person(object): | ||
class Person(object) | </syntaxhighlight> | ||
: → object 명시 | |||
</ | |||
: → | |||
{{소스헤더|예전 형식}} | |||
< | <syntaxhighlight lang='python'> | ||
class Person: | class Person: | ||
</ | </syntaxhighlight> | ||
:→ | : → object를 명시하지 않았지만 object는 자동 상속됨 | ||
==참고== | ==참고== |
2020년 11월 2일 (월) 02:32 기준 최신판
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