반응형
추상 클래스(abstract class)
- 추상 매소드를 하나라도 가지고 있는 클래스(일반매소드도 가지고 있어도 된다)
- 추상클래스를 상속받는 자식 클래스는 반드시 추상 매소드를 재정의(override)해야 한다. (추상매소드 구현부는 작성되어 있지 않다)
- 부모 : abstract class 라고 정의
- 자식 :extends를 붙인다
abstract class Animal {
abstract void cry();
}
class Cat extends Animal {
@Override
void cry() {
System.out.println("wolf");
}
}
class Dog extends Animal{
@Override
void cry() {
System.out.println("miaw");
}
}
인터페이스(interface)
- 추상매소드와 상수로 만 이루어진 "인터페이스"(클래스가 아님)
- 부모 : interface 라고 정의
- 자식 :implements 를 붙인다
interface Animal {
void cry();
}
class Cat implements Animal{
@Override
public void cry() {
System.out.println("냐옹");
}
}
class Dog implements Animal{
@Override
public void cry() {
System.out.println("멍멍");
}
}
반응형