- 추상 메소드
자식 클래스에서 상속 받은 메소드를 그대로 사용하는 것이 아니라 무조건 재정의해서 사용하는 경우.
부모 클래스에 있는 메소드는 코드가 필요하지 않게 된다.
이러한 경우 코드가 없는 메소드를 만드는데 이를 추상 메소드라고 한다.
package package2;
public abstract class Ex04 {
// 추상 클래스
int num1;
int num2;
// 추상 메소드
// 자식 클래스에서 상속 받은 메소드를 그대로 사용하는 것이 아니라 재정의해서 사용하는 경우
// 부모 클래스에 있는 메소드는 코드가 필요하지 않게 된다.
// 이러한 경우 코드가 없는 메소드를 만드는 데 이를 추상 메소드라고 한다.
public abstract void add();
public abstract void sub();
}
- 추상 클래스 상속
추상 클래스를 상속 받았으면 메소드를 재정의해서 사용해야 한다.
package package2;
public class Ex05 extends Ex04 { // 추상 클래스를 상속 받았으므로 매소드를 재정의해서 사용해야 함
// 메소드명을 한 클래스에서만 사용하는 것이 아니라
// 여러 클래스를 동일한 이름의 메소드를 사용하고 싶다.
public void add() {
System.out.println(num2 + num1);
}
public void sub() {
System.out.println(num2 - num1);
}
public void mul() {
System.out.println(num2 * num1);
}
public void div() {
System.out.println(num2 / num1);
}
}
package package2;
public class Ex04Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Ex05 ex = new Ex05();
ex.num1 = 10;
ex.num2 = 20;
ex.add();
ex.sub();
ex.mul();
ex.div();
}
}
- 실행결과