파이썬기초 객체

김재민·2022년 1월 20일
0
post-thumbnail

객체지향 프로그래밍

객체는 속성과 행위(메서드, 기능)를 가지는 대상

속성은 객체가 가지는 값이며 행위는 객체가 수행할 수 있는 기능

파이썬의 클래스

class 클래스이름:
	클래스 본체
    
클래스변수 = 클래스이름()

class Car :
	pass
car1 = Car()
print(car1)

구분 이름 역할
클래스 이름 Car 자동차 클래스이름
속성 _speed 차량의 속도변수
기능 get_speed 속도값 얻어오기
start 출발
stop 멈춤
accelerate 속도를 높이다

클래스와 객체

  • self
    객체 자신을 가리키는 특수한 키워드
    다른 언어의 this 키워드와 유사한 개념을 가짐

모듈

함수 또는 클래스를 포함하고 있는 파이썬 파일
import 구문으로 삽입하여 사용

상속 개요

class 클래스 이름(부모클래스) : 클래스 본체 내용

  • 기존 클래스와 유사한 클래스를 생성하는 경우 상속하는 것이 유리(is 관계)
  • 부모 클래스의 속성과 메소드를 자식 객체가 활용 가능
  • 파이썬은 기본적으로 최상위 클래스로 object클래스를 상속받고 있음
  • 파이썬은 다중상속을 지원함

오버라이딩(Overriding)

부모클래스에서 정의된 메소드를 재정의

서브 클래스에서 서로 다른 용도로 사용

클래스 속성/ 인스턴스 속성

생성되는 객체마다 별도로 메모리가 할당되는 변수 -> 인스턴스 속성

모든 객체마다 같은 메모리를 참조하여 하나만 할당되는 변수 -> 클래스 속성

메소드

인스턴스 메소드 : 객체를 생성한 후 접근할 수 있는 메소드
클래스 메소드 : 객체를 생성하지 않고도 사용할 수 있는 메소드
 - 클래스 메소드는 첫번째인자 self를 사용하지 않음
 - 클래스메소드는 cls라는 인수를 넣어야함
 - 클래스 메소드 선언시 @classmethod 데코레이터를 사용해야 함
 
static 메소드 : 객체를 생성하지 않고 접근할 수 있는 메소드

 - 클래스 메소드와 같이 클래스 이름으로 접근
 - 메소드 선언 시 cls를 사용하지 않음
 - 메소드 선언 시 @staticmethod 데코레이터를 사용해야함
 


결과



결과

profile
어제의 나보다 나은 오늘의 내가 되자!🧗‍♂️

0개의 댓글

관련 채용 정보