(Java) 오버라이딩 vs 오버로딩

Jayden·2023년 2월 22일

Java

목록 보기
11/35

오버라이딩(Overriding)

자식 클래스가 상속 받은 부모 메소드를 재작성 하는 것
부모가 제공하는 기능을 후손이 일부 고쳐 사용하겠다는 의미로
자식 객체를 통한 실행 시 후손 것이 우선권을 가짐

특징

메소드 헤드라인 위에 반드시 Annotation, @Override 표시
접근 제어자를 부모 것보다 같거나 넓은 범위로 변경 가능
부모 메소드의 예외처리 클래스 처리 범위보다 좁은 범위로 예외처리 클래스 수정 가능

성립 조건

부모 클래스의 메소드와 자식 클래스의 메소드 비교

  • 메소드 이름 동일
  • 매개변수의 개수, 타입, 순서 동일
  • 리턴 타입 동일
  • private 메소드 오버라이딩 불가
  • 접근 제어자를 부모와 같거나 넓은 범위로 변경 가능
  • 예외처리는 부모와 같거나 좁은 범위로 예외처리 변경 가능

부모 : (default)
자식 : (default), protected

0개의 댓글