파이썬 OOP

(파이썬 객체지향 프로그래밍에서 넘어옴)

1 개념[ | ]

Object-Oriented Programming (OOP)
객체지향 프로그래밍
  • 객체 생성은 키워드 class를 사용

2 객체 생성[ | ]

  • class키워드를 사용하여 Person라는 클래스(객체 생성 틀)을 만든다.
  • Person 클래스을 가지고 john, jane 객체를 각각 생성하였다.
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
→__init__와 print_name의 self는 자기 자신을 말함
print_name를 살펴보면, JOHN.print_name()이 실행 될 때 self는 JOHN, JMNOTE.print_name()이 실행 될 때 self는 JMNOTE가 됨

3 상속[ | ]

  • 상속은 하나의 클래스에서 또 다른 클래스의 정의를 그대로 상속하여 가져옴
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
→ Programmer와 Editor 클래스에서 Person 클래스를 상속하였음

4 객체 스타일[ | ]

새 형식
class Person(object):
→ object 명시
예전 형식
class Person:
→ object를 명시하지 않았지만 object는 자동 상속됨

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}