관심있는 주제/Java

오버라이딩(overriding)

Lynn123 2018. 11. 22. 16:52
반응형

오버라이딩은 '재정의'라는 뜻으로 상속과 밀접한 관계가 있는 개념이다.

오버라이딩은 부모 클래스가 갖고 있는 메소드를 물려받기는 하지만 그것을 그대로 사용하지 않고 자식 클래스의 필요에 따라 재정의하여

사용하는 것을 말 한다.


부모 클래스에 있는 Info()라는 메소드를 자식 클래스에서 재정의하여 사용하였다. 메인에서 Info()를 불러오면 우선적으로 자식 클래스의

Info() 를 불러온다. 이런것을 오버라이딩이라고 한다.


이때 오버라이딩 하려는 메소드의 반환타입이 같아야만 한다. 부모 클래스에서 void였는데 자식 클래스에서 String이라면 에러가 발생한다.

(아래 처럼)

이렇듯 오버라이딩을 위한 조건이 총 3가지 있다.

1. 메소드의 이름 일치 

2. 메소드의 변수 개수와 데이터 타입 , 순서의 일치

3. 반환 타입 일치


만약 부모 클래스에 있는 메소드를 똑같이 사용하면 싶다면 super.메소드이름 을 사용하면 된다.

반응형

'관심있는 주제 > Java' 카테고리의 다른 글

class 와 package  (0) 2018.11.22
오버로딩(over loading)  (0) 2018.11.22
Extends, super  (0) 2018.11.20
생성자(constructor)  (0) 2018.11.20
전역변수 / 지역변수  (0) 2018.11.20