클래스와 객체지향 프로그래밍
class
클래스는 데이터와 기능을 함께 묶는 방법을 제공한다.
파이썬 클래스는 객체 지향형 프로그래밍의 모든 표준 기능들을 제공한다. ( 상속, 다형성, 캡슐화 )
클래스 상속 메커니즘은 다중 베이스 클래스를 허락하고,
자식 클래스는 베이스 클래스나 클래스들의 어떤 메서드도 재정의할 수 있으며,
메서드는 같은 이름의 베이스 클래스의 메서드를 호출할 수 있습니다.
보통 클래스 멤버들은 public
private은 존재하지 않는다.
관례로 어트리뷰트 앞에
_
를 붙인다.
내장 클래스도 사용자가 확장하기 위해 베이스 클래스로 사용가능하다.
자바스크립트와 다르게 인스턴스 생성은 클래스 실행만 하면 된다. (new 연산자같은거 없이!)
클래스와 인스턴스를 이용하면 data와 코드를 사람이 이해하기 쉽도록 wrapping할 수 있다.
모델링 modeling
클래스로 현실의 개념을 현하는 것
클래스 객체
래스 객체는 두 종류의 연산을 지원한다.
attribute 참조
인스턴스 만들기
클래스 인스턴스 만들기는 함수 표기법을 사용한다.
x = MyClass()
인스턴스 만들기 연산은 빈객체를 만든다.
많은 클래스는 특정한 초기 상태로 커스터마이즈된 인스턴스 객체를 만드는 것을 좋아한다.
__init__()
이라는 특수메서드를 정의할 수 있다.클래스 인스턴스 만들기는 새로 만들어진 클래스 인스턴스에 대해 자동으로
__init__()
을 호출한다.
인스턴스 객체
인스턴스 객체는 한종류의 연산을 지원한다.
attribute 참조
데이터 어트리뷰트
메서드
데이터 어트리뷰트
선언될 필요가 없다.
지역변수처럼 처음 대입될 때 태어난다.
method 이해하기
메서드 객체에 속하는 함수이다.
클래스에 묶여서 클래스의 인스턴스와 관계되는 일을 하는 함수
파이썬은 인자를 필요로 하는 함수를 인자 없이 호출하면 예외를 일으킨다.
self
메소드의 첫번째 인자
인스턴스의 매개변수를 전달 할 때는
self
매개변수는 생략하고 전달
특수한 메서드
초기화 함수 :
__init__
인스턴스를 만들 때 실행되는 함문자열화 함수:
__str__
인스턴스 자체를 출력할 때의 형식을 지정해주는 함수
Last updated