본문 바로가기

개발/Python

부스트캠프 AI Tech 3기 Pre-Course [2]-1 객체 지향 언어로써의 파이썬 : Python OOP(Object Oriented Programming)

객체 지향 프로그래밍은 모든 언어의 가장 기본적인 프로그래밍 기법.

딥러닝 등 거의 객체 지향으로 되어있다.

 

객체 지향 프로그래밍 :Object Oriented Programming

OO / OOP로 부름

객체 : 속성과 행동을 가짐

ex) 리스트

  • 속성(attribute) : 변수(variable)
  • 행동 : 함수(method)

클래스(class) : 붕어빵 틀 : 설계도

객체를 클래스로 만들기 때문에 클래스에 속성과 행동이 존재

class 클래스 이름(상속받는객체명):
ex) class SoccerPlayer(object):

속성 추가하기

__init__ : 객체 초기화 함수

def __init__(self, name : str, position:str, back_number:int):
    self.name=name
    self.position=position
    self.back_number=back_number

self.position은 객체의 초기 정보 이고, 그 정보에 실제 값인 postion이 (할당되는 것)들어가는 것이다.

self는 생성된 인스턴스 자기 자신을 의미하는 키워드

 

init을 만들 때 파라미터에 self는 꼭 들어간다.

파라미터를 적을 때 name:str 처럼 자료형을 적어주면 더 확실하게 알려줄 수 있다. 힌트를 주는 것

 

def __str__(self):
	return "Hello, %s" % (self.name)

객체를 그냥 프린트에 넣었을 때 나오게 되는 구문이다.

a=SoccerPlayer("yo", "WF",12)
print(a)

>>Hello, yo

method 구현하기

def change_back_number(self, new_number):
    print("등번호를 변경합니다 : From %d to %d" % (self.back_number, self.new_number))
    self.back_number=new_number

이렇게 구현을 하고,

a.change_back_number(9)

이렇게 실행시킬 수 있다.

 

인스턴스(instance) : 붕어빵 : 실제 구현체

a=SoccerPlayer("yo", "WF",12)

a라는 하나의 붕어빵, 인스턴스를 만든 것이다. 

 

Reference:  부스트캠프 AI Tech 3기 Pre-Course-Python Object Oriented Programming