Python에서 메서드 재정의

게시 됨: 2023-01-28

목차

메서드 재정의를 이해하기 위한 전제 조건:

메서드 재정의는 개체 지향 프로그래밍에서 가장 중요한 개념 중 하나입니다. 부모 클래스에 정의된 자식 클래스의 특정 함수 구현은 Method Overriding을 통해 변경할 수 있습니다. 메서드 재정의는 부모 클래스 중 하나(조상이라고 함)에서 제공하는 메서드의 실행을 변경할 수 있는 자식 클래스의 기능으로 정의할 수 있습니다. 함수를 재정의하려면 클래스에서 다음 기준을 충족해야 합니다.

  • 상속 가능한 클래스: 클래스 내에서 함수 재정의를 수행할 수 없습니다. 부모 클래스에서 자식 클래스 파생이 필요합니다.
  • 자식 클래스에서 재정의된 함수의 시그니처와 부모 클래스의 시그니처가 동일해야 합니다. 즉, 재정의된 함수와 부모 클래스의 함수는 동일한 수의 인수 및 매개 변수를 가져야 합니다.

Python의 메서드 재정의 개요:

앞에서 정의한 것처럼 하위 클래스가 상위 클래스 중 하나에서 이미 제공한 메서드의 특정 구현을 제공하는 개체 지향 프로그래밍 언어의 속성을 재정의하는 메서드입니다. 하위 클래스(자식 클래스)의 메서드는 하위 클래스 메서드가 슈퍼 클래스의 메서드와 동일한 매개 변수 또는 시그니처, 동일한 이름 및 동일한 반환 유형 또는 하위 유형을 가질 때 상위 클래스(부모 클래스) 메서드를 재정의한다고 합니다.

실행된 메서드를 호출하는 데 사용되는 개체에 따라 해당 버전이 결정됩니다. 슈퍼클래스의 객체가 메서드를 호출하는 데 사용되는 경우 슈퍼클래스의 버전이 실행됩니다. 그러나 메서드가 하위 클래스의 개체에 의해 호출되면 자식 클래스의 버전이 실행됩니다. 즉, 참조되는 개체의 유형은 재정의되고 실행되는 메서드의 버전을 결정하는 데 사용됩니다. 재정의된 메서드의 버전은 참조 변수의 형식에 따라 결정되지 않습니다.

upGrad의 데이터 과학 과정을 확인하십시오

메서드 재정의의 이점:

Python에서 메서드 재정의의 주요 이점은 클래스가 부모 클래스의 코드를 변경하지 않고 상속된 메서드에 자체적으로 정의된 모델을 제공한다는 것입니다. 이 기능은 자식 클래스가 여러 자식 클래스가 있는 부모 클래스를 사용하는 경우에도 유용합니다. 이 경우 부모 클래스의 코드를 수정하지 않고도 자식 클래스에서 부모 클래스의 메서드와 매개 변수를 호출할 수 있습니다.

인기 있는 데이터 과학 과정 살펴보기

IIITB의 데이터 사이언스 총괄 포스트 대학원 프로그램 비즈니스 의사 결정을 위한 데이터 과학 전문 인증 프로그램 애리조나 대학교 데이터 과학 석사
IIITB의 데이터 과학 고급 인증 프로그램 메릴랜드 대학교의 데이터 과학 및 비즈니스 분석 전문 인증 프로그램 데이터 과학 과정

인기 있는 데이터 과학 기사 읽기

데이터 과학 진로: 포괄적인 진로 가이드 데이터 과학 경력 성장: 일의 미래가 여기에 있습니다 데이터 과학이 중요한 이유는 무엇입니까? 데이터 과학이 비즈니스에 가치를 부여하는 8가지 방법
관리자를 위한 데이터 과학의 관련성 모든 데이터 과학자가 갖추어야 할 궁극의 데이터 과학 치트 시트 데이터 과학자가 되어야 하는 6가지 이유
데이터 과학자의 하루: 그들은 무엇을 합니까? 잘못된 통념: 데이터 과학에는 코딩이 필요하지 않습니다 비즈니스 인텔리전스와 데이터 과학: 차이점은 무엇입니까?

메서드 재정의와 메서드 오버로딩의 차이점

메서드 재정의

메서드 오버로딩

부모 및 자식 클래스의 메서드 또는 함수는 서명과 이름이 동일해야 합니다. 함수 또는 메서드는 이름이 같아야 합니다. 그러나 서명이 동일할 필요는 없습니다.
이것은 런타임 다형성의 예입니다. 이 프로세스는 컴파일 타임 다형성의 예입니다.
상속은 Python에서 메서드 재정의에 필수입니다. 경우에 따라 클래스 상속이 필요할 수 있습니다. 그러나 모든 경우에 필요한 것은 아닙니다.
메서드 재정의는 부모 클래스와 자식 클래스의 메서드 간에 발생합니다. 그러나 클래스 내에서는 발생할 수 없습니다. 메서드 오버로드는 같은 클래스 내의 메서드 간에 발생합니다.
이 기능은 기존 메서드의 동작을 변경하는 데 사용됩니다. 메서드의 동작에 더 많은 것을 추가하는 데 사용됩니다.
메서드 재정의를 수행하려면 적어도 두 개의 클래스(자식 클래스와 부모 클래스)가 필요합니다. 동일한 클래스 내의 메서드 간에 오버로드가 발생하므로 추가 클래스가 필요하지 않습니다.

Python의 메서드 재정의에 대해 자세히 알아보려면 18개월 데이터 과학 석사 과정 을 수강하는 것이 좋습니다 . upGrad는 IIIT Bangalore 및 Liverpool John Moore's University에서 이 과정을 제공합니다. 이 과정에서는 통계, Python을 사용한 예측 분석, 기계 학습, 데이터 시각화, 빅 데이터 분석 등과 같은 기술을 배웁니다. Python 개념에 대한 풍부한 지식을 갖춘 학생은 딥 러닝, 자연어 처리, 비즈니스 분석 및 데이터 엔지니어링과 같은 주제를 다룰 수 있는 좋은 위치에 있습니다.

이 기사를 공유하고 싶습니까?

미래의 경력을 준비하십시오

데이터 과학에서 이학 석사 신청