ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (16)Python_객체지향과 클래스
    Python 2023. 3. 10. 13:08
    728x90

    1. 객체지향 프로그래밍

    • 문제를 여러개의 객체 단위로 나눠 작업하는 방식

    1-1. 객체(Object)란?

    • 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것을 말함

    1-2. 클래스(Class)란?

    • 객체를 생성하기 위한 일종의 설계도와 같음
    • 클래스는 프로퍼티(필드), 메소드(함수)로 구성되어 있음
      • 프로퍼티(Property): 데이터가 저장되는 곳
      • 메소드(method): 객체의 동작에 해당하는 실행 블록

    1-3. 클래스와 객체

    • 건축 설계도가 클래스라면, 실제로 지어진 집은 객체
    • 객체는 클래스로 구성되어 구체화된 인스턴스
    • 실제로 클래스가 인스턴스화 되어 메모리에 상주하는 형태를 객체라고 부름
    • 파이썬의 모든 변수와 함수는 객체로 저장

    2. 클래스 만들기

    class 클래스명:
      프로퍼티명1 = 값1
      프로퍼티명2 = 값2
      ...
    
      def 메소드명1(변수1, 변수2 ..):
        메소드가 호출되면 실행할 문장
        ...
      def 메소드명2(변수2, 변수2 ..):
        메소드가 호출되면 실행할 문장
        ...
    • 클래스를 통해 호출되는 변수를 프로퍼티(필드)라고 부름
    • 클래스를 통해 호출되는 함수를 메소드라고 부름
    • 객체생성을 하려 사용한다.

    • 클래스안에 메소드를 넣어 동작을 시킬 수 있다.

    3. 생성자(Construtor)

    • 클래스를 객체화 시킬 때 가장 먼저 자동으로 실행되는 메소드
    • __ init__(self)
    • 생성자에서는 해당 클래스가 다루는 데이터를 정의하고 초기화 함

    • 클래스 안의 메소드에서 생성하는것은 지역변수로 사용할 수 있다.

    4. 메소드

    • 해당 클래스의 객체에서만 호출가능한 함수
    • 해당 객체의 속성에 대한 연산을 행함
    • 객체이름.메소드명() 형태로 호출

    4-1. 메소드 정의하기

    • 메소드를 통해서 각 동작을 정의할 수 있다.

    4-2. 메소드 타입

    • instance method: 객체 형태로 호출되기 때문에 해당 메소드를 호출한 객체에만 영향을 미침
    • class method: 클래스 이름으로 호출하는 메소드(메소스 선언 위에 @staticmethod라고 표기)

    'Python' 카테고리의 다른 글

    (18)Python_스페셜 메소드  (0) 2023.03.10
    (17)Python_상속  (1) 2023.03.10
    (15)Python_간단한 문제  (1) 2023.03.09
    (14)Python_랜덤 모듈  (0) 2023.03.09
    (13)Python_콜백함수와 람다함수  (0) 2023.03.09

    댓글

Designed by Tistory.