ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Method Overriding
    JAVA/상속 2020. 10. 10. 22:49

    Method Overriding개념

       - 상속관계의 클래스에서 상위 클래스에 선언된 메소드를 자식 클래스에서 다시 선언하는
         경우를 말한다.. 이런 경우 기본적으로 부모클래스의 메소드는 무시된다.

       - 같은 메소드가 부모와 자식에게 모두 선언되어 있으나 메소드의 내용은 다르다.

       - 부모와 자식 Class간에 메소드의 원형이 같아야 한다. 
         . 원형(Stub): 메소드명, 인수의 갯수, 인수의 데이터 타입, return 타입

       - 부모클래스가 메소드를 상속해주나 자식 클래스는 

         자신이 구현한 메소드를 우선하여 이용한다. 따라서 상속이 무시된다.

       - 부모클래스의 메소드 기능을 유지하면서 상황에 따라 자식클래스의 변형된 기능을
         사용하고 싶은 경우 사용하며 다형성 구현의 핵심 원리이다.

       - 메신저는 버젼 별로 기능이 틀리나 버전이 틀리다고 해서 대화를 할 수 없는
         것은 아닌것과 같이 overriding 기술은 부모클래스의 구 기능을 없애는것이
         아니라 유지하면서 자식의 새로운 기능으로 교체하는 목적으로 사용된다.

     

    1. 메소드 원형이 다르므로 오버라이딩이 아닌 단순 상속이다.

    프로그램 실행결과

    소스 파일

    OverrideExam1.java
    0.00MB

     

    2. 상위 클래스와 하위 클래스의 메소드 원형이 같으면 Method Overriding이라고 한다.

    프로그램 실행결과

    소스 파일

    OverrideExam2.java
    0.00MB

     

    3. return 타입이 다른 경우

       - 메소드의 원형은 같으면서 return type만 다르게 지정할 수 없다.

         그 이유는 오버라이딩할 것이라고
         소스를 Eclipse가 판단하기 때문에 편집 시에 에러를 발생시킨다.

     

    'JAVA > 상속' 카테고리의 다른 글

    추상 클래스(abstract class)  (0) 2020.10.11
    메소드 내부 객체 변수(this,super), 생성자 호출 메소드  (0) 2020.10.11
    상속 관계에서의 생성자  (0) 2020.10.10
    객체 형변환  (0) 2020.10.10
    상속의 개념  (0) 2020.10.10

    댓글

Designed by Tistory.