의견.png

"오버라이딩"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(활용)
(태그: 모바일 편집, 모바일 웹 편집)
잔글 (같이 보기)
39번째 줄: 39번째 줄:
 
* [[오버로딩]]
 
* [[오버로딩]]
  
[[분류:프로그램]]
+
{{프로그래밍|토막글}}

2020년 8월 4일 (화) 22:26 판

오버라이딩(overriding)이란 조상 클래스로부터 상속받은 메소드(method)의 내용을 자손 클래스에 맞게 변경하는 것을 말한다. 오버로딩은 기존 메소드에 새로운 내용이 추가되지만, 오버라이딩은 기존 메소드 중 중복되는 내용이 새로운 내용으로 변경된다.

개요

메소드 오버라이딩,(method overriding)은 객체 지향 프로그래밍에서 서브클래스 또는 자식 클래스가 자신의 슈퍼클래스들 또는 부모 클래스들 중 하나에 의해 이미 제공된 메소드를 특정한 형태로 구현하는 것을 제공하는 언어의 특징이다. 서브클래스에서의 구현은 부모 클래스에서 같은 이름, 같은 파라미터 또는 시그니처 그리고 같은 반환형을 갖는 메소드를 제공함으로써 슈퍼클래스에서의 구현을 오버라이드한다. [1] 쉽게 말해 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의하는 것을 오버라이딩 이다.

특징

  • 메소드 이름이 같아야 한다.
  • 리턴형이 같아도 되고 달라도 된다.
  • 파라미터 개수가 달라야 한다.
  • 파라미터 개수가 같을 경우, 데이터타입이 달라야 한다.[2]

활용

public class 클래스A{ 
   int A = 1;
   int B = 2;

   public void method() {
       System.out.println(this.A+ this.B);
   }
}

public class 클래스B extends 클래스A{
   public void method() {
       System.out.println("A + B = " +(this.A+ this.B));
   }
}


각주

  1. 메소드 오버라이딩〈[1]〉, 《위키백과》 , 2018-04-30
  2. 오버라이딩 특징〈[2]〉, 《매거진》 , 2016-04

같이 보기


  의견.png 이 오버라이딩 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.