[Python]기본 문법(메소드, 상속, 추상메소드, 추상 클래스)

Hyeo_Ni__·2023년 11월 13일
0

Python 기본 문법

목록 보기
10/10
post-thumbnail

📝 메소드


📝 상속

부모 class의 내용을 자식 class가 물려받는 것


항목 순서는 의미가 없으며, 키는 중복될 수 없다.
또한, 키는 수정될 수 없지만, 값은 수정될 수 있다.

✍ 코드

class 부모:
    ...내용...

class 자식(부모):
    ...내용...

✍ 코드

class Country:
    name = '국가명'
    population = '인구'
    capital = '수도'
    
    def show(self):
        print('국가 클래스의 메소드입니다.')

class Korea(Country):
    def __init__(self, name):
        print('__init__')
        self.name = name

    def show_name(self):
        print('국가 이름은 : ', self.name)


위 코드를 실행시 Korea는 Country Class를 상속받게 된다.

✍ 코드

a = Korea('대한민국')
a.show()
a.show_name()
a.capital
a.name

💻 출력

__init__
국가 클래스의 메소드입니다.
국가 이름은 :  대한민국
수도
대한민국
  • a = Korea('대한민국')
    객체가 생성되며 name은 대한민국으로 변환된다.
  • a.show(), a.capital, a.name
    Country를 상속 받았기 때문에 각각의 함수 및 변수가 실행되어 출력된다.


📝 추상 메소드

아직 구현이 종료되지 않은 미완성 메소드

추상 클래스를 지원하는 모듈 abc(Abstract Base Class)를 가져오기 위해 import를 해야한다.

  • 정의되는 클래스의 괄호 안에 metaclass = abc.ABCMeta를 지정
  • 추상 메소드 머리 위에 데코레이터 @abc.abstractmethod를 넣어 메소드가 추상이라는 것을 지정

✍ 코드

from abc import *
class Polygon(metaclass = MBCMeta):
	@abstractmethod
    def area(self):
    	pass




📝 추상 클래스(abstract class)

미완성인 추상 메소드를 적어도 하나 이상 갖는 클래스로 부모인 추상 클래스는 자신만을 객체 인스턴스로 생성 불가능

이때 추상 메소드는 자식 클래스에서 반드시 구현해야한다.

profile
개발자로 성장 중 입니다.

0개의 댓글