본문 바로가기

강의/Udacity ML

6.2 객체지향 프로그래밍

SMALL

객체는 특성과 동작에 의해 정의된다. 

 

영어 문법의 특징과 행동

영어 문법의 측면에서 특징과 행동을 생각할 수 있다.

특성은 명사에 해당하고 행동은 동사에 해당한다.

 


객체지향 프로그래밍 관련 단어

클래스

메소드와 속성으로 구성된 청사진

 

객체

클래스의 인스턴스. 추상적일 수 있다.

 

속성

설명자 또는 특성. 3인치, 대형 등의 특정 값을 취할 수 있다.

 

메소드

클래스나 객체가 수행할 수 있는 작업

 

OOP

객체 지향 프로그래밍의 약어

 

캡슐화

객체 지향 프로그래밍의 기본 아이디어 중 하나는 캡슐화이다. 함수와 데이터를 모두 단일 엔티티로 결합할 수 있다. 객체 지향 프로그래밍에서 클래스라고 부른다. 캡슐화를 사용하면 기계 학습 알고리즘의 구현을 숨기는 scikit-learn 패키지와 마찬가지로 구현 세부 정보를 숨길 수 있다.

 


객체지향 프로그래밍 문법

함수 vs 메소드

함수와 메소드는 매우 비슷해 보인다. 둘다 def 키워드를 사용한다. 또한 입력 및 반환 출력도 있다. 다른 점은 메소드는 클래스 내부에 있지만 함수는 클래스 외부에 있는 것이다.

 

self 란?

shirt_one = Shirt('red', 'S', 'short-sleeve', 15)
shirt_two = Shirt('yellow', 'M', 'long-sleeve', 20)

defchange_price(self, new_price):
	self.price = new_price

Self는 python에게 객체에 대한 컴퓨터 메모리 위치를 알려준다. 그 후 Python은 객체의 속성 값을 변경한다.

객체.메소드를 호출하면 self가 암시적으로 전달된다. self는 관습에 불과하다. 

 

 

 

 

SMALL