본문 바로가기

kt aivle

kt_aivle6_클래스

웹크롤링 수업시간에 잠시 클래스를 알려주셨다.

클래스는 많이 써보지 않아서 생소했는데 이번 기회에 배우게 되어서 좋았다.

 

클래스 : class

 

클래스는 변수와 함수가 많아서 가독성이 떨어질 때 하나로 묶어서 효율적으로 작성하고 실행하는 문법이다.

그리고 객체지향을 구현한 문법이다.


객체지향 구현이란?

실제세계를 모델링하여 프로그램을 개발하는 개발 방법론

- 협업의 향상 효과를 준다.

 

  • 사용법

- 클래스선언(코드작성) > 객체생성(메모리사용) > 메서드실행(코드실행)

- class, self, __init__()
- 클래스는 사용자정의 데이터타입이다. (우리가 직접 만듦)
- 데이터타입에 따라 사용가능한 변수와 메서드가 다르다.

 

  • 인스턴스 메소드
# 예) 재고
class stock:
    today = 100
    def plus(self, amount):
        self.today += amount
        
    def minus(self, stock):
        self.today -= amount

class와 self를 사용하였다.

 

  • 객체생성 : 메모리 사용
s1 = stock()
s2 = stock()

# stock 하나로 여러개의 재고상품들을 만들 수 있다.

 

  • dir() : 객체의 변수, 함수 출력
dir(s1)[-3:] # 변수를 출력할 수 있다.

dir(s1) # 모든게 다 출력된다.

 

  • 데이터 수정 : 데이터 선택 = 수정할 데이터

    s1.today = 300

 

  • 메서드호출 : 코드실행
s1.plus(80)
s2.miuns(60)
s1.today , s2.today

 

  • self : 객체자신
    stock.plus(amount) : self.today += amount
    s1.plus(30) : self == s1 : s1.today += 30
    s2.minus(40) : self == s2 : s2.today -= 40

 

생성메서드 : __init__()

스페셜메서드 : 메서드 식별자 앞뒤로 __ 가 붙음 : 특별한 기능을 하는 메서드
생성자 메서드가 스페셜 메서드 중에 하나이다.
특별한 기능 : 객체가 생성될 때 실행되는 메서드

 

  • 클래스 생성: 코드 작성
class stock:
    # 객체가 생성될 때 실행되는 메서드
    # 다른 메서드에서 사용할 변수를 검사하거나 초기값을 설정할 때 밑의 생성자 메서드가 사용된다.
    def __init__(self, today=1000): #default값 설정 today=1000, 설정안해도돼 그럴 때는 today만 작성!
        self.today = today
    
    def plus(self, amount):
        self.today += amount
        
    def minus(self, amount):
        self.today -= amount

 

  • 객체 생성 : 메모리 사용
s1 = stock(3000) #today가 3000이 된다.
s2 = stock() #default값을 설정해줬기때문에 가능!, 설정 안해줬으면 이부분에서 오류난다.

 

오늘 클래스 수업은 많은 배움을 얻었다.

클래스에 대해 많이 알았고, 다음에 사용해 볼 수 있을 정도로 이해할 수 있었다!

 

'kt aivle' 카테고리의 다른 글

kt_aivle8_머신러닝  (0) 2023.08.31
kt_aivle7_웹크롤링  (0) 2023.08.29
kt_aivle5  (0) 2023.08.19
kt_aivle4  (0) 2023.08.18
kt_aivle3  (0) 2023.08.11