94번째 줄: |
94번째 줄: |
| |} | | |} |
| =상속= | | =상속= |
− | 직접 메서드를 구현하긴 귀찮고, 그대로 쓰기에도 곤란한 경우, 기능을 상속받아 메서드를 추가하거나 수정해 사용할 수 있다.<syntaxhighlight lang="python"> | + | 직접 메서드를 구현하긴 귀찮고, 그대로 쓰기에도 곤란한 경우, 기능을 상속받아 메서드를 추가하거나 수정해 사용할 수 있다. |
| + | |
| + | 혹은 특정 기능을 구현할 때 클래스의 형태를 제한하기 위해 사용한다.<syntaxhighlight lang="python"> |
| class 클래스명(상속해주는 클래스명): | | class 클래스명(상속해주는 클래스명): |
| 명령 | | 명령 |
109번째 줄: |
111번째 줄: |
| 추가할 내용. | | 추가할 내용. |
| </syntaxhighlight> | | </syntaxhighlight> |
| + | |
| + | == 추상 클래스 == |
| + | 메서드의 목록, 받아들이는 인수 형태를 제한한 클래스. 특정 틀 안에서 무언가를 정의하게 할 때 쓰인다.<syntaxhighlight lang="python"> |
| + | class 추상클래스(metaclass=ABCMeta): |
| + | @abstractmethod |
| + | def 메서드이름(self, 인수): |
| + | 코드 |
| + | </syntaxhighlight>ABC는 Abstract Base Class의 약자이다. |
| + | |
| + | @abstractmethod 아래에 정의된 메서드는 이 클래스를 상속받을 하위 클래스에서 반드시 정의되어야 하고, 받아들이는 인수의 형태도 같아야 한다는 제약이 생긴다. |
| | | |
| =자주 발생하는 에러= | | =자주 발생하는 에러= |