오버라이딩(overriding)

Bloooooooooooooog..·2022년 12월 22일

오버라이딩

자식클래스가 상속받은 부모 클래스의 메소드를 재작성하는 것을 의미한다. 자식 객체를 통한 실행 시 후손의 것이 우선권을 갖는다.

특징

  1. 메소드 헤드라인 위에 어노테이션 표기
    @Override
  2. 접근제한자를 부모의 것과 같거나 넓게 변경 가능
  3. 부모 메소드의 예외처리 클래스 처리범위보다 좁은 범위로 예외처리 클래스 수정 가능

성립 조건

  • 메소드 이름 동일
  • 매개변수의 개수, 타입, 순서 동일
  • 리턴 타입 동일
  • private 메소드의 경우 오버라이딩 불가

오버라이딩과 오버로딩의 비교

오버라이딩오버로딩
하위 클래스에서 메소드 정의같은 클래스에서 메소드 정의
메소드 이름 동일메소드 이름 동일
매개변수 동일 , 리턴 타입 동일매개변수 개수, 타입, 순서 중 하나는 무조건 다름, 리턴 타입 상관 없음
접근제한자가 부모 메소드와 같거나 넓어야함접근제한자 상관 없음
자식 메소드 예외 수가 부모의 것보다 적거나 범위가 좁아야함예외 처리 상관 없음
profile
공부와 일상

0개의 댓글