충분히 쌓여가는
7.10 추상 클래스 - 추상 메소드와 재정의 본문
추상 메소드 선언
abstract가 붙고 중괄호 {}가 없다
abstract 리턴타입 메소드명(매개변수, ...);
public abstract class Animal {
abstract void sound();
}
!추상 메소드는 자식 클래스에서 반드시 오버라이딩해서 실행 내용을 채워야 한다
package ch07.sec10.exam02;
public abstract class Animal {
public void breathe() {
System.out.println("숨을 쉽니다");
}
public abstract void sound();
}
package ch07.sec10.exam02;
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("멍멍");
}
}
package ch07.sec10.exam02;
public class Cat extends Animal {
@Override
public void sound() {
System.out.println("야옹");
}
}
package ch07.sec10.exam02;
public class AbstractMethodExample {
public static void main(String[] args) {
Dog dog = new Dog();
dog.sound();
Cat cat = new Cat();
cat.sound();
System.out.println();
animalSound(new Dog());
animalSound(new Cat());
}
public static void animalSound(Animal animal) {
animal.sound();
}
}
멍멍
야옹
멍멍
야옹
'이것이 자바다 > 07 상속' 카테고리의 다른 글
7.11 봉인된 클래스 - sealed, permits (0) | 2024.04.02 |
---|---|
7.10 추상 클래스 (0) | 2024.04.02 |
7.9 객체 타입 확인 - instanceof (0) | 2024.04.02 |
7.8 다형성 - 매개변수 다형성 (0) | 2024.04.02 |
7.8 다형성 (0) | 2024.04.02 |