주 메뉴 열기
대문
임의의 문서로
로그인
설정
Pywiki 소개
면책 조항
Pywiki
검색
바뀜
← 이전 편집
9. 클래스
(편집)
2022년 9월 29일 (목) 23:02 판
1,289 바이트 추가됨
,
2022년 9월 29일 (목) 23:02
편집 요약 없음
77번째 줄:
77번째 줄:
===함수사용===
===함수사용===
{| class="wikitable"
{| class="wikitable"
−
!
+
!
의도
−
!
+
!
사용법
+
!설명
|-
|-
+
|메서드 실행
|인스턴스명.메서드명()
|인스턴스명.메서드명()
−
|
+
|
인스턴스의 메서드를 실행한다.
|-
|-
+
|인스턴스별 메서드 실행
|클래스명.메서드명(인스턴스명)
|클래스명.메서드명(인스턴스명)
|다양한 인스턴스에 대해 반복문 등을 실행할 때 좋을 형태다.
|다양한 인스턴스에 대해 반복문 등을 실행할 때 좋을 형태다.
+
|-
+
|클래스 함수 실행
+
|클래스명.메서드명()
+
|인스턴스를 지정하지 않고 바로 클래스 함수를 실행할 수 있다.(이땐 self.변수 사용 불가.)
+
다만, 인스턴스 지정 없이 바로 쓰려면 메서드에 @classmethod 라는 데코레이션을 달아주어야 한다.
|-
|-
|
|
|
|
+
|굳이 지정하고 싶지 않은데 데코레이션 주면 더러워지는 게 싫은 사람은...
+
클래스명(변수1, 변수2...).메서드명() 형태로 실행할 수 있다.
|}
|}
=상속=
=상속=
−
직접 메서드를 구현하긴 귀찮고, 그대로 쓰기에도 곤란한 경우, 기능을 상속받아 메서드를 추가하거나 수정해 사용할 수 있다.<syntaxhighlight lang="python">
+
직접 메서드를 구현하긴 귀찮고, 그대로 쓰기에도 곤란한 경우, 기능을 상속받아 메서드를 추가하거나 수정해 사용할 수 있다
.
+
+
혹은 특정 기능을 구현할 때 클래스의 형태를 제한하기 위해 사용한다
.<syntaxhighlight lang="python">
class 클래스명(상속해주는 클래스명):
class 클래스명(상속해주는 클래스명):
명령
명령
105번째 줄:
117번째 줄:
추가할 내용.
추가할 내용.
</syntaxhighlight>
</syntaxhighlight>
+
+
== 추상 클래스 ==
+
메서드의 목록, 받아들이는 인수 형태를 제한한 클래스. 특정 틀 안에서 무언가를 정의하게 할 때 쓰인다.<syntaxhighlight lang="python">
+
class 추상클래스(metaclass=ABCMeta):
+
@abstractmethod
+
def 메서드이름(self, 인수):
+
코드
+
</syntaxhighlight>ABC는 Abstract Base Class의 약자이다.
+
+
@abstractmethod 아래에 정의된 메서드는 이 클래스를 상속받을 하위 클래스에서 반드시 정의되어야 하고, 받아들이는 인수의 형태도 같아야 한다는 제약이 생긴다.
=자주 발생하는 에러=
=자주 발생하는 에러=
Sam
사무관
,
인터페이스 관리자
,
관리자
, 교사
편집
1,410
번