Chapter02. 클래스 & 메소드 심화(part01~03)
- 객체지향 프로그래밍의 장점: 코드의 재사용, 유지보수, 코드 중복 최소화, 대형프로젝트에 적합
- 공부날짜: 2021.11.14
Part 01
- 일반적인 코딩: 일일이 다 입력해야함

- 리스트 구조 : 관리하기가 불편하고, 인덱스 접근 시 실수 가능성이 있고 인덱스를 알아야하므로 삭제가 불편하다

- 딕셔너리 구조는 코드 반복 지속, 중첩문제(키), 키 조회 예외 처리 등에 사용할 수 있다

- 클래스 구조: 구조 설계 후 재사용성 증가, 코드 반복 최소화, 메소드를 활용하는 특징이 있다




Part 02
- 인스턴스의 네임스페이스에 없으면 상위에서 검색
- 동일한 이름으로 변수 생성 가능(인스턴스 검색 후 상위(클래스/부모클래스 변수 )로 이동
- Car class 구현

- 클래스 변수는 모든 인스턴스가 공유한다(중요!!)
-self의 의미: 인스턴스의 고유한 정보를 저장하기 위해 self를 입력한다
- 클래스 주석, 메소드 주석확인(__doc__())
- __init__을 부를 때마다 Car 클래스의 클래스 변수 car_count가 1씩 늘어난다는 얘기(?)
- 인스턴스 생성

- 각 인스턴스 ID 확인

- 다른 인스턴스이므로 아이디 값이 다르다는 걸 확인

- dir(instance): 인스턴스 속성들 보여줌. 속성의 값은 보여주지 않음
- __dict__: 딕셔너리 형태로 키, 값 보여줌
- __doc__: 주석 보여줌(클래스나 메소드)

- 같은 클래스에서 만들어진 인스턴스의 클래스 값은 동일하다(당연)

- 출력(클래스 이름, ID 동일)

- 클래스 변수는 인스턴스로 부터 불러오나 클래스로 부터 불러오나 동일하다

Part 03
- Car Class 구현

- Class Method 구현

- 인스턴스는 self, 클래스는 cls를 받는다
- cls.price_per_raise=per : 클래스 변수 price_per_raise에 입력된 파라미터 값. per를 대입한다
- Static Method 구현

- 클래스와 관련이 있는 기능을 수행하는 역할이 필요하고, self,cls 안 받아도 될때 static method 이용
- 인스턴스 생성

- 인스턴스 정보(id, detail info)확인하기

- 가격 정보 출력(직접적인 방법/ 리스트로 불러오기)

- 직접적인 방법(첫번째)는 좋은 방법이 아님 되도록이면 두번째이용
- 클래스 미사용/사용 해서 가격 변동 구하기
1. 인상전 가격 출력

2. 적용

왼쪽은 인상률이 바뀔때마다 새로 입력해줘야 하지만, 오른쪽 방법은 파라미터값만 변경하면 바로 계산할 수 있기 때문에 더 좋은 방법이다
-끝-
'Dev Language > Python' 카테고리의 다른 글
[파이썬 중급] #3_1 시퀀스 (0) | 2021.11.16 |
---|---|
[파이썬 중급] #2 매직 메소드(스페셜 메소드) (0) | 2021.11.15 |
[파이썬 기초] #5 (0) | 2021.11.15 |
[파이썬 기초] #4 (0) | 2021.11.15 |
[파이썬 기초] #3 (0) | 2021.11.15 |