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

+ Recent posts