9 추상클래스

2023. 2. 2. 16:39자바

> 추상메소드?

: 자식클래스에서 반드시 오버라이딩 해야하는 메소드

선언만하고 구현 내용 없음

- abstract void print();


> 추상클래스?

: 하나 이상의 추상 메소드를 포함하는 클래스

▶ 반드시 구현해야하는 부분에 대해 명시적으로 표현

▶ 추상 클래스 자체는 객체 생성 불가능

- abstract class 클래스명 { 추상메소드들 }

 


package Abstract;

abstract class PersonAbs {
    abstract void printInfo();          // 실질적으로 구현해야함
}

class StudentAbs extends PersonAbs {
    public void printInfo() {
        System.out.println("Student.printInfo");
    }
}

public class Abstract {
    public static void main(String[] args) {
        StudentAbs s1 = new StudentAbs();
        s1.printInfo();					// Student.printInfo

        PersonAbs p1 = new PersonAbs() {
            @Override
            void printInfo() {
                System.out.println("Main.printInfo");
            }
        };
        p1.printInfo();					// Main.printInfo
    }
}

'자바' 카테고리의 다른 글

11 내부클래스  (0) 2023.02.02
10 인터페이스  (0) 2023.02.02
8 다형성(Polymorphism) ★  (0) 2023.02.02
7 상속  (0) 2023.02.02
6 클래스와 객체  (0) 2023.02.02