객체지향 프로그래밍 - 오버라이딩

소금·2024년 3월 18일
0

오버라이딩(overriding) 이란?

  • 상속받은 클래스의 메소드 내용을 변경하는 것을 말한다.

오버라이딩의 조건

  • 조상 클래스의 메소드와 메소드명, 매개변수 가 같아야 하는 조건이 있다.
  • 접근 제어자는 조상 클래스 메소드보다 좁은 범위로 변경이 불가하다.
  • 조상 클래스 메소드보다 많은 수의 예외 선언이 불가하다.
  • 인스턴스 메소드 <-> static 메소드 상호변경이 불가하다.

오버로딩 vs 오버라이딩

  • 오버로딩(overloading) - 새로운 메소드를 정의하는 것.
  • 오버라이딩(overriding) - 상속받은 메소드의 내용을 변경하는 것.

super

  • 자손클래스에서 조상클래스에서 상속받은 멤버를 참조하는 참조변수이다.
  • 생성자의 this 처럼, 조상 멤버와 자손 멤버를 구분하기 위한 것이다.

super()

  • 조상 클래스의 생성자를 호출한다.

0개의 댓글