[예외, 에러] 예외란, 문법적인 문제는 없으나 발생하는 예상하지 못한 문제 에러란, 소프트웨어적으로 처리할 수 없는 문제 ex) 문법적, 네트워크 환경, 천재지변 등 다음은 문법적으로는 문제가 없으나 실행 도중에 발생하는 예외의 한 예시이다. (그렇다고 해서 예외와 에러를 엄밀하게 구분해서 사용하는 것은 아니다.) >>> 10/0 Traceback (most recent call last): File "", line 1, in ZeroDivisionError: division by zero [예외 관련 클래스는 Exception 클래스를 상속한다.] 대표적인 예외 클래스들 Exception ArithmeticError ZeroDivisionError : 0으로 나눴을 때 EnvironmentError ..
파이썬
[추상클래스] 상위 클래스에서 하위 클래스에 메서드 구현을 강요한다. 자식 클래스라면 특정 메소드는 꼭 해야만해! 비행기는 여객기가 flight() 기능을 갖도록 선언합니다. 여객기는 flight() 기능을 갖게되고, 갖지 않을 경우 오류가 발생합니다. 부모가 자녀에게 방청소를 시켰다고 합시다. 1. abc 패키지로 부터, ABCMeta와 abstrctmethod를 import 합니다. 2. 부모 클래스(metaclass = ABCMeta) 를 함으로써 추상 클래스를 정의합니다. 3. 반드시 자식 클래스에게 구현할 기능이 있다면, 함수 정의 위에 @abstrctmethod를 추가합니다. from abc import ABCMeta, abstractmethod class Parent(metaclass=ABC..
[오버라이딩] 하위 클래스에서 상위 클래스의 메서드를 재정의 하는 것을 오버라이딩이라 한다. 로봇이 있었고, 새로운 버전의 로봇이 출시 되었다고 하자. 새 로봇은 기존 로봇을 상속받아 만들었지만, fire 기능이 총에서 레이저로 업그레이드 되었다고 하자. 이때 부모 클래스의 기능을 자식 클래스의 기능으로 재정의 하는 것을 오버라이딩이라고 한다. class Robot : def __init__(self,c,h,w) : self.color = c self.height = h self.weight = w def print_robot_info(self): print(f'색깔은 {self.color}') print(f'높이는 {self.height}') print(f'무게는 {self.weight}') def f..
[다중상속] 여러개의 클래스를 상속 받을 수도 있습니다. class Car01 : def drive(self): print('drive() method called!!') class Car02 : def turbo(self): print('turbo boost up!') class Car03 : def fly(self): print('fly to the moon!') class Car(Car01,Car02,Car03): def __init__(self): pass mycar = Car() mycar.drive() mycar.turbo() mycar.fly() ''' drive() method called!! turbo boost up! fly to the moon! ''' mycar은 운전도 되고, 부스..