[Python] 파이썬

[Python] 오버라이딩 및 예외처리 종류

ITsubin 2022. 9. 10. 20:41

오버라이딩이란?

> 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 다시 정의하는 것.

> 상속 후 메소드를 호출하게 되면 자식 클래스에서 다시 정의된 메소드를 사용.

    ( 이 경우, 부모 클래스에서 정의된 메소드는 사용 불가 )

class Person:
	''' 부모 클래스 '''
	def __init__(self, name):
		self.name = name
  
	def eat(self, food):
		print(f'{self.name}가 {food}를 먹습니다')
  

class Student(Person):
	''' 자식 클래스 '''
	def __init__(self, name, school):
		super().__init__(name)
		self.school = school

	def study(self):
		print(f'{self.name}은 {self.school}에서 공부합니다')
    
	def eat(self, food):
		print(f'{self.name}가 {self.school}에서 {food}를 먹습니다')

예외 처리

> 예외(exception)란 프로그램에 존재하는 오류(Error)로 볼 수 있음.

> 예외 처리는 오류의 발생으로 프로그램이 비정상적으로 종료되는 것을 막고,

   사용자에게 발생한 문제에 대한 정보를 전달하기 위함.

   >>  ( 예외 : 개발자가 직접 처리할 수 있는 간단한 문제 )

   >>  ( 오류 : 개발자가 처리하기 힘든 복잡한 오류 )

 

예외 종류 (예외 클래스)

> Python에서는 발생 가능한 문제를 예외 클래스로 만들어 둠.

> 기본적으로 예외 클래스는 " BaseException" 클래스(최상위 예외 클래스)의 자식 클래스

> Exception 클래스 또한 BaseException 클래스의 자식 클래스이며, 대부분의 예외 클래스는 

   이 Exception 클래스의 자식 클래스.

 

예외 클래스 의미
1 BaseException 최상위 예외 클래스
2 Exception (대부분의) 예외 클래스의 부모 클래스
3 ArithmeticError 산술 연산 에러
4 AttributeError 속성 에러(잘못된 속성 참조)
5 EOFError 런타임에러(읽어들일 데이터가 없을 경우)
6 ModuleNotFoundError 모듈 설치 에러 (import할 모듈이 없을 경우)
7 FileNotFoundError 파일 경로 에러 (파일이 존재하지 않을 경우)
8 IndexError 인덱스 에러 (잘못된 인덱스 사용)
9 NameError 변수 에러 (잘못된 변수 사용)
10 SyntaxError 문법 에러
11 TypeError 타입 에러 (데이터 유형 에러)
12 ValueError 데이터 값 에러

 

'[Python] 파이썬' 카테고리의 다른 글

[Python] 예외처리 방식_2  (0) 2022.09.12
[Python] 예외처리 방식  (0) 2022.09.11
[Python] 파이썬 상속  (2) 2022.09.09
[Python] 파이썬 클래스 구성_2  (0) 2022.09.08
[Python] 파이썬 클래스 구성  (0) 2022.09.07