OOP(객체지향 프로그래밍)
- 세상에 있는 실체를 컴퓨터에게 인식 시키기 위해 물체를 클래스, 인스턴스, 함수, 변수 라는 object로 변화시키서 프로그래밈을 구성하는 방법론
- 기능(함수,뱐수)이 재사용이 가능 하도록 설계
- 클래스 : 속성(인스턴스)과 행위(메소드)를 가지고 설계
- 객체 : 클래스에서 정의한 속성, 행위를 수행
class Player():
def hitter(self):
return 'hitter 메서드'
def picher(self):
return 'picher 메서드'
# hitter, picher 메서드는 Player 클래스의 행동을 정의
trout = Player()
trout.hitter()
# trout라는 객체 생성 후 hitter 메서드 사용
상속(Inheritance)
- Inheritance : 상위 클래스의 모든 기능(함수, 변수) 재사용 가능
- Composition : 다른 클래스의 일부 기능(함수) 재사용 가능
# 상속
class Player():
def __init__(self, player):
self.player = player
print("__init__ 메서드")
class trout(Player): # Player 클래스를 상속
def MVP(self):
return print("The Most Valuable " + self.player) # player 변수 재사용
# object 생성
killid = trout('player')
killid.MVP()
__init__ 메서드
The Most Valuable player
추상화(Abstraction)
- 핵심적인 개념 및 기능을 요약하는 것, object의 기능에 따라 상위 클래스를 상속 받아 하위 클래스 생성
ex) 변수, 함수, 클래스 사용
- 추상화를 잘 하기위해선 '직관적인 이름'으로 클래스 작성 / 주석 설명 첨부 필요
class Student
"""
클래스 설명
"""
def __init__(self, name, number):
"""
함수 설명
"""
클래스의 인스턴스화
class Mylunch():
pass
hungry = Mylunch() # 인스턴스화(메모리 할당)
* 추상화, 캡슐화 참고 블로그
[TIL] 파이썬 - 객체지향적 프로그래밍( 추상화, 캡슐화 )
파이썬 - 객체지향적 프로그래밍
velog.io
'[CodesSates] AI 부트캠프' 카테고리의 다른 글
정규 표현식 (0) | 2021.07.09 |
---|---|
Docker (0) | 2021.05.12 |
개발환경 (0) | 2021.05.12 |
Interpreting ML Model (0) | 2021.04.23 |
Feature Importances (0) | 2021.04.22 |