Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

7.4 메소드 재정의 - 오버라이딩 본문

이것이 자바다/07 상속

7.4 메소드 재정의 - 오버라이딩

빌드이너프 2024. 4. 2. 15:20

부모 클래스의 모든 메소드가 자식 클래스에게 맞게 설계되어 있다면 가장 이상적이지만,

어떤 메소드는 자식 클래스가 사용하기에 적합하지 않을 수 있다

이러한 메소드는 자식 클래스에서 재정의해서 사용해야 하고 이것을 오버라이딩이라 한다

 

메소드 오버라이딩

상속된 메소드를 자식 클래스에서 재정의하는 것을 말한다

메소드가 오버라이딩되었다면 해당 부모 메소드는 숨겨지고, 자식 메소드가 우선적으로 사용된다

 

메소드 오버라이딩 규칙

1. 부모 메소드의 선언부(return 타입, 메소드 이름, 매개변수)와 동일해야 한다

2. 접근 제한을 더 강하게 오버라이딩 할 수 없다(pulbic -> private으로 변경 불가능)

3. 새로운 예외를 throws 할 수 없다

 

@Override

개발자의 실수를 줄여주기 위해 정확히 오버라이딩 되었는지 체크해주는 @Override 어노테이션을 사용한다

@Override를 붙이면 컴파일 단계에서 정확히 오버라이딩 되었는지 체크하고, 문제가 있다면 컴파일 에러를 출력한다