본문 바로가기
study/Java

[Java] 22. 오버로딩, 오버라이딩 예제

by 금이패런츠 2022. 3. 21.
728x90
반응형
package chap7;
/*
 * 오버로딩 : 메서드의 다형성
 * 오버라이딩 예제 : 메서드의 재정의.
 *    1. 상속관계에서 메서드를 재정의.
 *    2. 부모클래스의 메서드를 자손클래스에서 재정의.
 *    3. 부모클래스의 메서드의 선언부와, 자손클래스의 메서드의 선언부가 같아야 함.
 *    4. 접근제어자는 넓은 범위로 가능, 예외처리는 좁은 범위로 가능함
 */
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 BikeEx1 {
	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());
	}
}
728x90
반응형