2. 오버라이딩

Lumi·2021년 6월 22일
0

자바의 정석

목록 보기
20/35
post-thumbnail

2021.06.22

1. 오버라이딩이란

조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것을 오버라이딩
클래스를 변경하여 재선언 하는것

2. 오버라이딩 조건

  1. 이름이 같아야 한다.

  2. 매개변수가 같아야 한다.

  3. 반환타입이 같아야 한다.
    == 선언부가 서로 일치해야 한다는걸 의미

  4. 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경 할 수 없다.
    -> 조상 클래스의 접근 제어자가 protected라면 자손 클래스의 접근 제어자는 protected or public만 가능하다.
    - public > protected, (default), private 순

  5. 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.
    -> 예외는 후에 배울것이기 떄문에 pass

3.오버로딩 vs 오버라이딩

오버로딩 : 기존에 없는 새로운 메서드를 정의하는것
-> 완전히 새로운 메서드를 만들어냄

오버라이딩 : 상속받은 메서드의 내용을 변경하는 것
-> 이미 있는 것을 수정하는 방법
-> 반드시 상속에서만 사용된다.

4. super

자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는데 사용되는 참조변수.

this와 마찬가지로 상속바은 멤버와 자신의 멤버가 이름이 같다면 구별용도로 사용이 가능하며
조상 클래스의 멤버도 결국 자손 클래스의 멤버이므로 super대신 this를 이용할수도 있다.

this가 결국 자기 자신을 의미하는데 조상클래스 또한 자기 자신이 되기떄문에 사용이가능함

5.super()

this()와 마찬가지로 조상 클래스의 생성자를 호출하는데 사용된다.

마찬가지고 매개변수가 있을시에는 반드시 super(매개변수)를 입력해 주어야 한다.

중요하지는 않지만 super()클래스는 자동으로 호출이 되며 조상 클래스 또한 super()이 호출이 된다.
== 결국 조상 클래스도 Object클래스를 상속받는 클래스 이기 떄문에

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글