1. Scrapy 소개 및 설치 > 1-2. Scrapy는 객체 지향 프로그래밍이다!

Scrapy는 객체 지향 프로그래밍이다!

Scrapy는 객체 지향 프로그래밍입니다. 객체 지향 프로그래밍이 무엇인지 알아보기 전에 우선 아래 자료를 반드시 학습해주세요.

클래스와 객체, 상속에 대해 학습하셨다면 다음 자료를 학습해주세요.

(어려운 내용이기 때문에 완전히 이해되지 않는게 정상입니다. '아, 이런거구나~' 정도의 느낌만 가져가보세요!)

정리하면 다음과 같습니다.

  1. 클래스 선언

    특정 사물을 나타낼 수 있는 설계도를 만든다. (attribute : 특정 사물(객체)의 변수, method : 특정 사물(객체)의 함수)

    # class 선언 형태
    class 클래스이름 : 
        attribute 선언(: attribute1 = 0) 
        
        method 선언(def 메서드(self,,,)와 같은 방식으로 선언)
    
  2. 객체(object) 생성

    해당 사물의 설계도를 기반으로 '사물1'이라는 객체를 만든다. 하나의 클래스에 여러 개의 객체(사물1, 사물2,,,)가 존재 가능하며, 각 객체들은 별도로 동작할 수 있다.

    (예: 사물1 = 클래스이름(), 사물2 = 클래스이름())

  3. 객체 속성 호출

    '사물1' 객체의 속성을 호출한다.

    (예: 사물1.attribute1)

이해하기 쉽게 예시를 들어 설명해보겠습니다.

사각형이라는 도형을 만든다고 합시다. 사각형을 만드는 과정에서 클래스 선언은 우리가 만들 사각형의 설계도, 즉 사각형의 가로 · 세로 길이, 색깔, 이름 등을 정해주는 일종의 틀을 만드는 것입니다. 이 설계도를 바탕으로 실제 사각형을 만드는 것이 바로 객체 생성이에요. 만들 수 있는 사각형의 개수는 무한개이기 때문에, 하나의 클래스(설계도)에 여러 개의 객체(사각형)이 존재할 수 있는 것입니다. 마지막으로 객체 속성을 호출하는 것은 클래스 선언에서 우리가 설정한 사각형의 가로 · 세로 길이, 색깔, 이름을 불러내는 것을 말합니다.

# 사각형 만들기

# 클래스 선언
class Square() : 
        height = 2    # attribute 선언
        width = 3
        color = 'orange'
        name = 'square'
        
        def square_name(self) :   # method 선언
                return self.name

#객체 생성
square1 = Square()

#객체 속성 호출
square1.color
> 출력값: 'orange'

square1.name = 'orange square'    # 호출 후 수정 가능
square1.name
> 출력값: 'orange square'

위와 같은 개념을 바탕으로, 객체들 간의 유기적 상호작용으로 이루어지는 프로그래밍을 객체 지향 프로그래밍이라고 합니다. 저희가 공부할 Scrapy 역시 객체 지향 프로그래밍이니 관련 개념과 친해지시면 좋겠죠!

마지막으로 업데이트 된 날짜:
2022년 11월 18일