1. 객체지향 프로그래밍
- 문제를 여러 개의 객체 단위로 나눠 작업하는 방식
- 클래스를 이용해 연관있는 처리 부분과 데이터 부분을 하나로 묶어 객체를 생성해 사용
1-1. 클래스와 객체
- 객체는 클래스로 생성되어 구체화된 인스턴스
- 실제로 클래스가 인스턴스화 되어 메모리에 상주하는 상태를 객체라고 부름
- 건축 설계도가 클래스라면, 실제로 지어진 집은 객체로 비유
- 파이썬의 모든 변수는 객체
1-2. 클래스 만들기
class 클래스명:
# 생성자
def __init__(self):
self.필드명1 = 값1
self.필드명2 = 값2
...
객체가 메모리에 로드될 때 가장 먼저 실행될 문장
...
def 메서드명(변수1, 변수 2, ...):
메서드가 호출되면 실행될 문장
...
1-3. 생성자
- 클래스 인스턴스가 생성될 때 호출함
__init__(self, 변수1, 변수2, ...)
- self 매개변수는 항상 첫 번째에 오며, 자기 자신의 객체를 가르킨다.
- 이름이 꼭 self일 필요는 없지만 관례적으로 self를 사용한다.
- 생성자에서는 해당 클래스가 다루는 데이터를 정의
1-4. 메서드 정의하기
- 멤버함수라고도 하며, 해당 클래스의 객체에서만 호출 가능한 함수
- 메서드는 객체에서만 호출되며, 해당 객체의 속성에 대한 연산을 행함
- 객체이름.메서드명() 형태로 호출
1-5. 메서드 타입
- instance method : 객체 형태로 호출되기 때문에 해당 메서드를 호출한 객체에만 영향을 미치게 된다.
- class method : class로 호출(함수 선언 위에 @staticmethod 라고 표기)