자바 - 메소드 오버라이드(Override)

빵제이·2023년 7월 24일
0

자바

목록 보기
22/37

[ 메소드 오버라이드(Method Override) ]

    1. 슈퍼 클래스의 메소드를 서브 클래스가 다시 만드는 것을 말한다. (메소드 덮어쓰기)
    1. 오버라이드 하는 메소드는 @Override Annotation을 추가하는 것이 좋다. (권장이지만 필수로 하자.)
    1. 반드시 동일한 모습으로 오버라이드 해야 한다.
      ㄴ(반환타입, 이름 하나라도 다르게 만들면 Err.)

[ 카페라떼 ]

public class CafeLatte extends Espresso {

  @Override         
  public void taste() {
    System.out.println("고소한 맛");
  }
}
  • @Override 오버라이드 한 메소드 (슈퍼클래스에도 있는데 내가 또 만든 거다. 라는 명시임.)
  • @Override를 적으면 똑같이 만들었는지 문법 체크를 해 준다.(똑같지 않으면 에러표시해줌)

[ 에스프레소 ]

public class Espresso {

  public void taste() {
    System.out.println("쓴 맛");
  }
}

[ 메인 메소드 ]

public class MainWrapper {

  public static void main(String[] args) {

    // CafeLatte 객체 선언 & 생성
    CafeLatte latte = new CafeLatte();
    
    // CafeLatte 객체 메소드
    latte.taste();
  }
}
  • 원래는 부모 클래스의 메소드인 taste로 "쓴 맛"이 출력되어야 하지만,
  • 메소드 오버라이드로 자식 클래스에서 새롭게 정의되어 "고소한 맛"으로 출력.
profile
개인 아카이브

0개의 댓글