Python 참조/Python 책정리

Chapter17 클래스와 객체 지향 개념

Snowboarder 2022. 5. 4. 10:35
  • 파이썬은 객체지향 언어이고 객체지향 언어의 핵심은 클래스입니다. 17장에서는 클래스 작성법과 클래스를 이용한 코드를 객체 지향 코드라고 하는 이유를 알게 됩니다. 지금까지 학습한 자료형을 다시 한 번 정리하고, 파이썬이 제공하지 않는 객체를 만들어야 하는 경우에 어떻게 클래스를 작성해야 하는지를 학습합니다.

1. 파이썬의 데이터 객체

  • 모든 데이터를 '객체' 라고 부른다 이 객체는 '클래스' 를 통해서 만들어집니다.
  • type() 함수를 적용해 보면 어느 클래스에서 만들어진 객체인지 알 수 있다.
  • '객체.메소드()'라고 호출하여 어떤 객체에 적용하는 메소드임을 분명히 명시

2. 클래스 - 객체를 만드는 도구

메소드만을 갖는 클래스

  • 객체를 만들려면 '객체명 = 클래스명()'
  • 함수와 다른 점은 메소드 괄호 안에 첫번째 자리에는 반드시 self를 적어야 한다.
  • '객체. 메소드명()' 의 형태로 호출해야 합니다.

데이터 속성 추가하기

  • 생성자인 __ init __()을 통해서 할 수 있습니다. 객체를 생성할 때 자동으로 호출되는 특별한 메소드 입니다.
  • __ init __ 메소드도 다른 메소드들처럼 첫번째 매개 변수로 self를 가져야 하고, 다음으로 객체의 속성 정보를 받는 매개 변수들을 넣으면 됩니다.
  • self 는 메소드를 호출하는 객체의 정보를 갖게 됩니다.

self 변수

객체의 데이터 속성 이해하기

객체 출력하기

  • 객체의 참조값은 객체 id입니다
  • print(객체)를 수행하면 객체의 데이터 속성을 출력해 주지 않고 객체의 참조값을 출력하기 때문에, 객체의 데이터 속성을 출력하려면 따로 메소드를 만들어 주어야 합니다.

3. int 클래스 이해하기

__ init __ () 생성자

  • 객체를 만드는 생성자입니다.

연산자 중복

  • 연산자 중복 중에서 r로 시작하는 메소드들은 이항 연산자에서 피연산자로 바꾸어 계산합니다.

4. 컨테이너 자료형 클래스 이해하기

__ add __ 의 '+' 연산자 중복, __ mul __ 의 '*' 연산자 중복

  • __ add __ 속성이 있는 자료형은 두 객체 간에 '+' 연산이 지원되고
  • __ mul __ 속성이 있는 자료형은 '*' 연산을 지원

__ contains __, __ len __

  • contains 메소드는 in , not in 연산을 지원합니다.

__ getitem __ 메소드

  • set 자료형만 __ getitem__ () 메소드가 없다.

__ setitem , __ delitem 메소드

  • 두 메소드는 리스트와 사전에만 있습니다.
  • 인덱스 개념이 있는 mutable 자료형들에만 있다.

__ Iter __ () 메소드

  • 어떤 객체가 iterable인지 판단

5. __ str__ , __ repr __ 메소드 이해하기

6. 정리

  • 모든 자료형은 클래스로 구형되어 있다.
  • 객체 데이터는 클래스 기반으로 하기 때문
  • 아홉 가지 자료형 이해 객체를 어떻게 다루어야 하는지
  • 클래스가 어떻게 만들어 지고 사용해야 하는지를 잘 알고 있어야 내장된 자료형과 다양한 모듈을 제대로 사용할 수 있다.

'Python 참조 > Python 책정리' 카테고리의 다른 글

[python 문법] dictionary 정리  (0) 2022.10.19
Chapter16 에러와 예외처리  (0) 2022.05.04
Chapter15 모듈  (0) 2022.05.04
Chapter14 파일 입출력  (0) 2022.05.04
Chapter13 함수  (0) 2022.05.04