본문 바로가기

코딩/머신러닝&데이터 분석 강의

[머신러닝 인강] 4-2주차: 클래스와 인스턴스

<4-2주차 수강 클립>

01. Python Programming 기초

25. 클래스와 인스턴스 - 01. 클래스(class) & 오브젝트(object) 이해하기

26. 클래스와 인스턴스 - 02. 클래스 정의 및 사용하기

27. 클래스와 인스턴스 - 03. 생성자(__init__) 이해 및 사용하기

 


 

이번 주차에는 파이썬을 비롯한 c, c++ 등의 객체 지향 언어에 존재하는 개념인

객체'와 '클래스'에 대해 이해해봤습니다

 

>>수강 인증샷<<

 


 

25. 클래스와 인스턴스 - 01. 클래스(class) & 오브젝트(object) 이해하기

 

-클래스(class)란?

실세계의 것을 모델링하여 속성(attribute)와 동작(method)을 갖는 데이터 타입

파이썬에서의 string, int, list, dict ... 모든 데이터 타입은 클래스로 존재

다루고자 하는 데이터(변수)와 그 데이터를 다루는 연산(함수)을 하나로 캡슐화(encapsulation)하여 클래스로 표현

ex) 리스트 클래스

a = [1, 2, 3, 4] #list class의 데이터: 원소(elements)
a.append(5) #list class의 메소드: append etc...
print(a)

 

-오브젝트(object)란?

클래스로 생성되어 구체화된 객체(인스턴스)

추상적으로 아우르는 클래스가 인스턴스화 되어 메모리에 상주하는 상태를 의미!

 


 

26. 클래스와 인스턴스 - 02. 클래스 정의 및 사용하기

 

-class 선언하기

객체를 생성하기 위해서는 객체의 모체가 되는 클래스를 미리 선언해야 함

class Person:
    pass
    
bob = Person() #클래스의 객체 생성
cathy = Person()

*) pass 키워드: 빈 구현 허용 (함수를 '선언'은 하고싶으나 '구현'은 잠시 비워두고 실행시키고 싶은 경우)

 


 

27. 클래스와 인스턴스 - 03. 생성자(__init__) 이해 및 사용하기

 

-init(self)

생성자, 클래스 인스턴스가 생성될 때 호출

self 인자는 항상 첫번째에 오며 자기 자신을 가리킴 (c++에서 this 의미)

(이름이 꼭 self일 필요는 없지만, 관례적으로 self를 사용)

 

생성자 함수에서는 해당 클래스가 다루는 데이터를 정의

이 데이터를 멤버 변수(member variable) 또는 속성(attribute)이라고 함

#클래스의 변수 동적으로 생성하기_생성자 함수
class Person:
    def __init__(self, name, age=10):
        #속성(attribute) or 데이터
        self.name = name
        self.age = age
        
p1 = Person('Bob', 30)
p2 = Person('Kate', 20)
p3 = Person('Aaron') #age는 default param 값 대입

print(p1.name, p1.age)
print(p2.name, p2.age)
print(p3.name, p3.age)

 


 

강의 링크: https://bit.ly/3cB3C8y

반응형