반응형

메서드 오버라이드(재 정의) : extends를 사용하여 부모 클래스(슈퍼 클래스)로 부터 자식 클래스가 상속받은 메서드 중 변경이 필요한 메서드를 변경하는 것. 이때 상속받은 기존 메서드는 비활성화 된다.

class Main {
  public static void main(String[] args) {
    청둥오리 a청둥오리 = new 청둥오리();
    a청둥오리.날다();
    // 출력 : 오리가 날개로 날아갑니다.
    
    흰오리 a흰오리 = new 흰오리();
    a흰오리.날다();
    // 출력 : 오리가 날개로 날아갑니다.
    
    고무오리 a고무오리 = new 고무오리();
    a고무오리.날다();
    // 출력 : 저는 날 수 없어요. ㅠㅠ
  }
}

class 오리 {
  void 날다() {
    System.out.println("오리가 날개로 날아갑니다.");
  }
  void 수영하다() {
  	System.out.println("오리가 물갈퀴로 수영합니다.");
  }
}

class 흰오리 extends 오리 {
}

class 청둥오리 extends 오리 {

}

// 고무오리 클래스 메서드 오버라이드( 날다 )
class 고무오리 extends 오리 {
	void 날다() {
    	System.out.println("저는 날 수 없어요. ㅠㅠ");
    }
}
반응형

'프로그래밍 > 자바, JDBC' 카테고리의 다른 글

문자열 비교(equals)  (0) 2020.04.23
for ~ each문 (향상된 for문)  (0) 2020.04.23
상속( extends ) - 중복 제거  (0) 2020.04.22
버퍼 비우기  (0) 2020.04.21
상속  (0) 2020.04.20

+ Recent posts