오버라이딩(OverRiding)
: 상속 받은 부모의 메서드를 자기 자신에 맞게 내용을 재정의,변경 하는 것.
public class Parent {
int x = 10;
int y = 20;
public void play(){
retunr x+ ":" +y;
}
}
public class Child extends Parent{
int z = 30;
public void play(){ //오버라이딩 {}구현부만 수정가능
retunr x+ ":" +y+ ":" +z;
}
}
오버라이딩 조건
1. 선언부(반환타입, 메서드이름, 매개변수) 조상메서드와 일치
2. 접근제어자 조상클래스 메서드보다 좁은 범위로 변경x
3. 예외는 조상클래스의 매서드보다 많이 선언할 수 x
접근제어자,예외 나중자세히..
오버로딩 vs 오버라이딩
▸ 오버로딩 : 이름 같은 기존에 없는 새로운 메서드 정의 (New)
▸ 오버라이딩 : 상속받은 메서드 내용 변경 (Change)
public class Parent {
public void parentMethod(){}
}
public class Child extends Parent{
public void parentMethod(){} //오버라이딩
public void parentMethod(int x){} //오버로딩
public void childtMethod(){} //메서드 정의
public void childtMethod(int x){} //오버로딩
public void childtMethod(){} //에러. 중복정의
}
'Java' 카테고리의 다른 글
| [Java] 제어자, 지정자(modifier), 캡슐화 (0) | 2023.12.23 |
|---|---|
| [Java] Object 클래스, super, super() (0) | 2023.12.20 |
| [Java] 상속(Inheritance), 포함(composite) (0) | 2023.12.20 |
| [Java] 변수 초기화(명시적, 생성자, 초기화블럭) (0) | 2023.12.18 |
| [Java] this(), this (0) | 2023.12.18 |