"메소드 오버라이딩"의 두 판 사이의 차이

4번째 줄: 4번째 줄:
*메소드 덮어쓰기
*메소드 덮어쓰기
*[[슈퍼 클래스]]에 정의된 메소드를 [[서브 클래스]]에서 다시 정의하여 덮어쓰는 일
*[[슈퍼 클래스]]에 정의된 메소드를 [[서브 클래스]]에서 다시 정의하여 덮어쓰는 일
==실습 예제==
<source lang='java'>
class Base {
  Base() { System.out .println ("Base: Base"); }
  void print() { System.out .println ("Base: print"); }
  static void staticPrint() { System.out .println ("Base: staticPrint"); }
}
class Derived extends Base {
  Derived() {System.out .println ("Derived: Derived"); }
  void print() {System.out .println ("Derived: print"); }
  static void staticPrint() {System.out .println ("Derived: staticPrint"); }
}
public class Main {
  public static void main (String[] args) {
    Base base = new Base();
    base.print();
    Derived derived = new Derived();
    derived .print();
    Base derivedInBaseVariable = new Derived();
    derivedInBaseVariable .print();
    Base.staticPrint();
    Derived.staticPrint();
  }
}
</source>


==같이 보기==
==같이 보기==

2013년 10월 1일 (화) 09:30 판

1 개요

method overriding, override
메소드 오버라이딩; 오버라이딩, 오버라이드

2 실습 예제

class Base {
  Base() { System.out .println ("Base: Base"); }
  void print() { System.out .println ("Base: print"); }
  static void staticPrint() { System.out .println ("Base: staticPrint"); }
}
 
class Derived extends Base {
  Derived() {System.out .println ("Derived: Derived"); }
  void print() {System.out .println ("Derived: print"); }
  static void staticPrint() {System.out .println ("Derived: staticPrint"); }
}

public class Main {
  public static void main (String[] args) {
    Base base = new Base();
    base.print();
 
    Derived derived = new Derived();
    derived .print();
 
    Base derivedInBaseVariable = new Derived();
    derivedInBaseVariable .print();
 
    Base.staticPrint();
    Derived.staticPrint();
  }
}

3 같이 보기

4 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}