프로그래밍 문법/java

[java] 상속할때 abstract, interface

씩씩한 IT블로그 2024. 5. 2. 12:37
반응형

추상 클래스(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("멍멍");
    }
}

 

반응형