비전공자들을 위한 추상 메서드 개념잡기

WON HOYEON·2024년 7월 2일

추상 메서드란?

추상메서드는 선언만 하고 구현은 없는 메서드
즉, (부모)추상 메서드는 구조만 가지고 있고, (자식)클래스가 물려받은 구조를 디테일적으로 추가해줘야됨

abstract class Animal {
    abstract void makeSound(); // 추상 메서드 선언
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("Bark!"); // 추상 메서드 구현
    }
}
  • 상위 클래스에서 추상메서드를 선언하고 하위클래스에서 각자 구체적인 동작을 구현 가능

  • 추상클래스를 상속받은 다양한 하위 클래스들이 각자의 방식으로 추상메서드들을 구현함으로써, 동일한 메서드 호출에도 다향한 구현이 될 수 있음

  • 코드의 재사용성을 높일 수 있음

주의해야할 점!

  • 추상 메서드 포함 :추상 메서드를 하나라도 가지면 추상 클래스가 됨

  • 오버라이딩 필수 : 추상 클래스를 상속받은 모든 구체적인 클래스는 추상 클래스의 추상 메서드를 구현해야 객체 생성가능

  • 직접 인스턴스화 불가 :추상 클래스는 직접적으로 인스턴스화 불가능, ex) new AbstractClass()

profile
分からなかったことを整理し、後から見返すための記録です。

0개의 댓글