- 오버라이딩
오버라이딩 예제
오버라이딩 : 메서드의 재정의
1. 상속 관계에서 부모의 메서드를 자손클래스에서 재정의 함
2. 부모클래스 메서드의 선언부와 자손클래스의 메서드의 선언부가 같아야 함.
3. 접근제어자는 넓은 범위로 가능
4. 예외처리는 좁은 범위로 가능
- 오버로딩
오버로딩 : 메서드의 다형성
1. 동일한 같은 클래스내에 같은 이름을 가진 메서드가 존재 할 수 있다. 단 매개변수가 달라야 함
2. 리턴타입, 접근제어자, 예외처리 등은 상관 없다.
📌
package chap7;
class Bike {
int wheel;
Bike(int wheel) {
this.wheel = wheel;
}
String drive() {
return "페달을 밟는다.";
}
String stop() {
return "브레이크를 잡는다.";
}
}
class AutoBike extends Bike{
boolean power;
AutoBike(int wheel){
super(wheel); //부모클래스의 생성자에 맞도록 호출
}
void power() {
power = !power;
}
//부모클래스의 메서드의 선언부와 자손클래스 메서드의 선언부가 같아야 한다.
//리턴타입 메서드명(매개변수 목록)
/*
* 어노테이션 : 알고리즘과 관계없이 검증, 실행을 위한 보조 도구
*/
@Override //어노테이션 <- 오버라이딩이 정확하게 코딩됐는지 여부검증을 위한
String drive() { //오버라이딩 메서드. 메서드의 재정의
return "출발버튼을 누른다.";
}
}
public class OverridinfEx1 {
public static void main(String[] args) {
AutoBike ab = new AutoBike(2);
System.out.println(ab.drive());
System.out.println(ab.stop());
Bike b = new Bike(2);
System.out.println(b.drive());
System.out.println(b.stop());
}
}
'수업(국비지원) > Java' 카테고리의 다른 글
| [Java] chap7 : 클래스의 관계 - Instanceof연산자 (0) | 2023.04.15 |
|---|---|
| [Java] chap7 : 클래스의 관계 - Pakage 패키지 예제 (0) | 2023.04.15 |
| [Java] chap7 : 클래스의 관계 - Super예약어, Super 생성자 (0) | 2023.04.15 |
| [Java] chap7: 클래스의 관계 - 상속1 (0) | 2023.04.15 |
| [Java] chap6: 클래스와 객체 - 초기화 블럭 (0) | 2023.04.15 |