파이썬 중급 5,6_얕은 복사, 깊은 복사, 클래스 상속, 다중 상속, 오버라이딩(재정의), 추상클래스, 예외

최효손·2023년 4월 14일
0

20_객체와 메모리

  • 노란색 표시한 rb3 = rb1 로 하면
    rb1 의 값이 동일하게 rb3 으로 출력됨

  • 파란색 표시한 rb1 의 값을 grey, 250, 100 으로 바꾸면
    rb3 도 동일하게 변경됨

실습

21_얕은복사와 깊은복사

- 얕은 복사
tc2 값을 바꾸면 tc1 값도 자동적으로 바뀜

- 깊은 복사
tc2 값 바꿔도 tc1 값 변하지 않음

- 다양한 깊은 복사 방법

얕은 복사 결과

깊은 복사 결과 4개

실습

22_클래스 상속

  • 다른 클래스를 상속해서 사용하는 것

파란색 표시한 drive, back 함수를 TurboCar 에 다시 쓰지 않아도
NormalCar 를 상속했기 때문에 NormalCar 기능을 그대로 사용하게 됨

실습

수퍼에게 있는 덧셈, 뺄셈 기능을 차일드에게도 추가하고 싶다면,
차일드 옆에 괄호 안에 수퍼 입력하면 됨
파란색 표시한 수퍼 기능이 차일드에게도 그대로 추가된 것을 알 수 있음

23_생성자 (01)

상속하는 2개 방법이 있다 (노란색 표시)

super()

24_생성자 (02)


25_다중 상속

  • 2개 이상의 클래스를 상속 받는 것

26_오버라이딩

  • 매서드를 재정의(override) 하는 것

노란색 표시한 부분을 수정해주면 원래 '미사일 발사' 대신 '레이저 발사'로 변경됨

27_추상클래스

  • 상위 클래스에서 아무 값을 입력하지 않았을 때, 하위 클래스에서 값을 입력하라고 강요 하는 것
  • 값이 정해져 있지 않기 때문에 '추상' 클래스로 표현함(abstractmethod)

노란색 표시한 fighterPlane 전투기 값을 입력했더니 출력됨

실습

28_예외란?

  • 에러(소프트웨어로 해결할 수 없는 것, 천재지변, 네트워크 문제, 전기 나감) 와 예외는 다르다
  • 예외: 문법적으로 문제는 없으나 예상하지 못한 문제
  • 예외의 예시) 10을 0으로 나눌 수 없음, 이 때 예외 발생

이미 파이썬에서는 이러한 예외들을 처리할 수 있도록 예외 클래스가 따로 있다. exception 클래스

노란색 표시한 경우 예외 발생함

참고: 위 이미지는 제로 베이스 데이터 스쿨 강의 자료를 캡처했습니다.

profile
Oodi 를 꿈꾸며

0개의 댓글